{
    "$schema": "http://json-schema.org/draft-04/schema",
    "$id": "https://www.updatecli.io/latest/schema/policy/manifest/spec",
    "properties": {
        "name": {
            "type": "string",
            "description": "\"name\" defines a pipeline name\n\nexample:\n\t* \"name: 'deps: update nodejs version to latest stable'\"\n\nremark:\n\t* using a short sentence describing the pipeline is a good way to name your pipeline.\n\t* using conventional commits convention is a good way to name your pipeline.\n\t* \"name\" is often used a default values for other configuration such as pullrequest title.\n\t* \"name\" shouldn't contain any dynamic information such as source output."
        },
        "pipelineid": {
            "type": "string",
            "description": "\"pipelineid\" allows to identify a full pipeline run.\n\nexample:\n\t* \"pipelineid: nodejs/dependencies\"\n\t* \"pipelineid: gomod/github.com/updatecli/updatecli\"\n\t* \"pipelineid: autodiscovery/gomodules/minor\"\n\nremark:\n\t* \"pipelineid\" is used to generate uniq branch name for target update relying on scm configuration.\n\t* The same \"pipelineid\" may be used by different Updatecli manifest\" to ensure they are updated in the same workflow including pullrequest."
        },
        "autodiscovery": {
            "properties": {
                "crawlers": {
                    "$schema": "http://json-schema.org/draft-04/schema",
                    "properties": {
                        "argocd": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for ArgoCD manifest"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Argocd manifest based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Argocd file path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific ArgoCD manifest based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n   versionfilter of kind `semver` uses semantic versioning as version filtering\n   pattern accepts one of:\n     `prerelease` - Updatecli tries to identify the latest \"prerelease\" whatever it means\n     `patch` - Updatecli only handles patch version update\n     `minor` - Updatecli handles patch AND minor version update\n     `minoronly` - Updatecli handles minor version only\n     `major` - Updatecli handles patch, minor, AND major version update\n     `majoronly` - Updatecli only handles major version update\n     `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n   versionfilter of kind `regex` uses regular expression as version filtering\n   pattern accepts a valid regular expression\n\n example:\n ```\n \tversionfilter:\n \t\tkind: semver\n \t\tpattern: minor\n ```\n\n\tand its type like regex, semver, or just latest."
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "token": {
                                                "type": "string"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    },
                                    "type": "object",
                                    "description": "Auths holds a map of string to string where the key is the registry URL and the value the token used for authentication\n\nPlease be aware that only the host part of the URL is used to lookup for authentication token.\n\nExample:\n\n```yaml\nauths:\n  \"my-helm-repo.com\": \"my-secret-token\"\n```"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the argocd builder."
                        },
                        "bazel": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "`rootdir` defines the root directory used to recursively search for `MODULE.bazel` files"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a `MODULE.bazel` path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`modules` specifies a map of modules, the key is module name as seen in the `MODULE.bazel`,\nthe value is an optional semver version constraint.\n\nexamples:\n```\n- modules:\n  # Ignoring module updates for this module\n  rules_go:\n  # Ignore module updates for this version\n  gazelle: \"1.x\"\n```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows specifying rules to identify manifests"
                                    },
                                    "type": "array",
                                    "description": "`ignore` specifies rule to ignore Bazel module updates."
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a `MODULE.bazel` path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`modules` specifies a map of modules, the key is module name as seen in the `MODULE.bazel`,\nthe value is an optional semver version constraint.\n\nexamples:\n```\n- modules:\n  # Ignoring module updates for this module\n  rules_go:\n  # Ignore module updates for this version\n  gazelle: \"1.x\"\n```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows specifying rules to identify manifests"
                                    },
                                    "type": "array",
                                    "description": "`only` specify required rule to restrict Bazel module updates."
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\nkind - semver\n\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\tpattern accepts one of:\n\t\t`patch` - patch only update patch version\n\t\t`minor` - minor only update minor version\n\t\t`major` - major only update major versions\n\t\t`a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\n\tversionfilter of kind `regex` uses regular expression as version filtering\n\tpattern accepts a valid regular expression\n\nexample:\n```\n\tversionfilter:\n\t\tkind: semver\n\t\tpattern: minor\n```"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Bazel autodiscovery parameters."
                        },
                        "cargo": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Cargo.toml"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "crates": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Crates specifies the list of Cargo crates to check"
                                            },
                                            "registries": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Registries specifies the list of Cargo registries to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore specifies rule to ignore Cargo.toml update."
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Cargo crate path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "crates": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Crates specifies the list of Cargo crates to check"
                                            },
                                            "registries": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Registries specifies the list of Cargo registries to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only specify required rule to restrict Cargo.toml update."
                                },
                                "registries": {
                                    "additionalProperties": {
                                        "properties": {
                                            "auth": {
                                                "properties": {
                                                    "token": {
                                                        "type": "string",
                                                        "description": "[A][S][C] Token specifies the cargo registry token to use for authentication."
                                                    },
                                                    "headerformat": {
                                                        "type": "string",
                                                        "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication."
                                            },
                                            "url": {
                                                "type": "string",
                                                "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication."
                                            },
                                            "rootdir": {
                                                "type": "string",
                                                "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index."
                                            },
                                            "scmid": {
                                                "type": "string",
                                                "description": "[A] SCMID specifies the cargo registry scmId to use as FS index."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    },
                                    "type": "object",
                                    "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Cargo parameters."
                        },
                        "dockercompose": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir defines the root directory used to recursively search for Helm Chart\nIf rootDir is not provided, the current working directory will be used.\nIf rootDir is provided as an absolute path, scmID will be ignored.\nIf rootDir is not provided but a scmid is, then rootDir will be set to the git repository root directory."
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "archs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Arch specifies a list of docker image architecture"
                                            },
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "services": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Services specifies a list of docker compose services"
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "archs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Arch specifies a list of docker image architecture"
                                            },
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "services": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Services specifies a list of docker compose services"
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule"
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "filematch": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"compose.yaml\", \"compose.yml\", \"compose.*.yaml\", \"compose.*.yml\", \"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder."
                        },
                        "dockerfile": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Helm Chart"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "archs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Arch specifies a list of docker image architecture"
                                            },
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "archs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Arch specifies a list of docker image architecture"
                                            },
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Dockerfile path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule"
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "filematch": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "FileMatch allows to override default Dockerfile file matching. Default [\"Dockerfile\"]"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n kind - semver\n   versionfilter of kind `semver` uses semantic versioning as version filtering\n   pattern accepts one of:\n     `patch` - patch only update patch version\n     `minor` - minor only update minor version\n     `major` - major only update major versions\n     `a version constraint` such as `\u003e= 1.0.0`\n\n kind - regex\n   versionfilter of kind `regex` uses regular expression as version filtering\n   pattern accepts a valid regular expression\n\n example:\n\n ```\n versionfilter:\n   kind: semver\n   pattern: minor\n ```\n\n More version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Dockerfile Spec defines the parameters which can be provided to the Dockerfile crawler."
                        },
                        "flux": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest allows to specify if the generated manifest should use OCI digest on top of the tag\n\ndefault: true"
                                },
                                "helmrelease": {
                                    "type": "boolean",
                                    "description": "helmRelease define if helmrelease file should be updated or not\n\ndefault: true"
                                },
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "files allows to override default flux files\n\ndefault: [\"*.yaml\", \"*.yml\"]"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "artifacts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific Flux helmrelease based on a rule\n\ndefault: empty"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "artifacts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Artifacts specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nAn artifact can be a Helm Chart when used in the context of Helmrelease\nor an OCIRepository when used in the context of OCIRepository\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid semver constraint, then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific Flux helm release based on a rule\n\ndefault: empty"
                                },
                                "ocirepository": {
                                    "type": "boolean",
                                    "description": "OCIRepository allows to specify if OCI repository files should be updated\n\ndefault: true"
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir defines the root directory used to recursively search for Flux files\n\ndefault: . (current working directory) or scm root directory"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Flux crawler."
                        },
                        "gitea/action": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "files allows to specify the accepted Action workflow file name\n\ndefault:\n  - \".github/workflows/*.yaml\",\n  - \".github/workflows/*.yml\",\n  - \".gitea/workflows/*.yaml\",\n  - \".gitea/workflows/*.yml\",\n  - \".forgejo/workflows/*.yaml\",\n  - \".forgejo/workflows/*.yml\","
                                },
                                "actions": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "actions allows to specify the accepted Composite Action names\n\ndefault:\n  - \"*\","
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "actions": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nThe artifact name must match the GitHub action name or the Docker image name.\nIn case of a Docker image, it must have the prefix docker://\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "actions": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nThe artifact name must match the GitHub action name or the Docker image name.\nIn case of a Docker image, it must have the prefix docker://\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty"
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest."
                                },
                                "credentials": {
                                    "additionalProperties": {
                                        "properties": {
                                            "kind": {
                                                "type": "string"
                                            },
                                            "token": {
                                                "type": "string"
                                            },
                                            "app": {
                                                "properties": {
                                                    "clientid": {
                                                        "type": "string",
                                                        "description": "ClientID represents the GitHub App client ID"
                                                    },
                                                    "privatekey": {
                                                        "type": "string",
                                                        "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                                    },
                                                    "privatekeypath": {
                                                        "type": "string",
                                                        "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                                    },
                                                    "installationid": {
                                                        "type": "string",
                                                        "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                                    },
                                                    "expirationtime": {
                                                        "type": "string",
                                                        "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    },
                                    "type": "object",
                                    "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n  autodiscovery:\n    crawlers:\n      github/action:\n        credentials:\n          \"code.forgejo.com\":\n            kind: gitea\n            token: xxx\n          \"github.com\":\n            kind: github\n            token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```"
                                },
                                "credentialsdocker": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "CredentialsDocker provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag.\n\nRemark:\n\t- The digest is only supported for GitHub Action and docker image tag update.\n   Feel free to open an issue for the Gitea and Forgejo integration."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Action crawler."
                        },
                        "github/action": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "files allows to specify the accepted Action workflow file name\n\ndefault:\n  - \".github/workflows/*.yaml\",\n  - \".github/workflows/*.yml\",\n  - \".gitea/workflows/*.yaml\",\n  - \".gitea/workflows/*.yml\",\n  - \".forgejo/workflows/*.yaml\",\n  - \".forgejo/workflows/*.yml\","
                                },
                                "actions": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "actions allows to specify the accepted Composite Action names\n\ndefault:\n  - \"*\","
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "actions": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nThe artifact name must match the GitHub action name or the Docker image name.\nIn case of a Docker image, it must have the prefix docker://\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific GitHub action based on a rule\n\ndefault: empty"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Flux filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "actions": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Actions specifies the list of artifacts to check\n\nThe key is the artifact name and the value is the artifact version\n\nThe artifact name must match the GitHub action name or the Docker image name.\nIn case of a Docker image, it must have the prefix docker://\n\nIf the value is empty, then the artifact name is enough to match\nIf the value is a valid Git branch, Git tag, release, a Docker image tag , then the artifact version must match the constraint"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific GitHub action based on a rule\n\ndefault: empty"
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir allows to specify the root directory from where looking for GitHub Action\n\ndefault: empty"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nkind - semver\n\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\tpattern accepts one of:\n\t\t\t`patch` - patch only update patch version\n\t\t\t`minor` - minor only update minor version\n\t\t\t`major` - major only update major versions\n\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\tkind - regex\n\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\tpattern accepts a valid regular expression\n\n\texample:\n\t```\n\t\tversionfilter:\n\t\t\tkind: semver\n\t\t\tpattern: minor\n\t```\n\n\tand its type like regex, semver, or just latest."
                                },
                                "credentials": {
                                    "additionalProperties": {
                                        "properties": {
                                            "kind": {
                                                "type": "string"
                                            },
                                            "token": {
                                                "type": "string"
                                            },
                                            "app": {
                                                "properties": {
                                                    "clientid": {
                                                        "type": "string",
                                                        "description": "ClientID represents the GitHub App client ID"
                                                    },
                                                    "privatekey": {
                                                        "type": "string",
                                                        "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                                    },
                                                    "privatekeypath": {
                                                        "type": "string",
                                                        "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                                    },
                                                    "installationid": {
                                                        "type": "string",
                                                        "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                                    },
                                                    "expirationtime": {
                                                        "type": "string",
                                                        "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    },
                                    "type": "object",
                                    "description": "Credentials allows to specify the credentials to use to authenticate to the git provider\nThe ID of the credential must be the domain of the git provider to configure\n\ndefault: empty\n\nexamples:\n```\n  autodiscovery:\n    crawlers:\n      github/action:\n        credentials:\n          \"code.forgejo.com\":\n            kind: gitea\n            token: xxx\n          \"github.com\":\n            kind: github\n            token: '{{ requiredEnv \"GITHUB_TOKEN\" }}'\n```"
                                },
                                "credentialsdocker": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "CredentialsDocker provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag.\n\nRemark:\n\t- The digest is only supported for GitHub Action and docker image tag update.\n   Feel free to open an issue for the Gitea and Forgejo integration."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Action crawler."
                        },
                        "golang": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir defines the root directory used to recursively search for golang go.mod"
                                },
                                "onlygoversion": {
                                    "type": "boolean",
                                    "description": "OnlyGoVersion allows to specify if the autodiscovery should only handle Go version specified in go.mod"
                                },
                                "onlygomodule": {
                                    "type": "boolean",
                                    "description": "OnlyGoModule allows to specify if the autodiscovery should only handle Go module specified in go.mod"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a go.mod path pattern\nThe pattern syntax is:\npattern:\n    { term }\nterm:\n    '*'         matches any sequence of non-Separator characters\n    '?'         matches any single non-Separator character\n    '[' [ '^' ] { character-range } ']'\n                character class (must be non-empty)\n    c           matches character c (c != '*', '?', '\\\\', '[')\n    '\\\\' c      matches character c\nexample:\n  * 'go.mod' matches 'go.mod' in the current directory\n  * '*/go.mod' matches 'go.mod' in any first level subdirectory"
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Modules specifies a list of module pattern.\nThe module accepts regular expression for module name and semantic versioning constraint for module version.\nIf module version is empty then any version is matching.\nExample:\n  * 'github.com/updatecli/updatecli': '' matches any version of the module github.com/updatecli/updatecli\n  * 'github.com/updatecli/updatecli': '1.0.0' matches only version 1.0.0 of the module github.com/updatecli/updatecli\n  * 'github.com/updatecli/updatecli': '\u003e=1.0.0' matches any version greater than or equal to 1.0.0 of the module github.com/updatecli/updatecli\n  * 'github.com/.*': '\u003e=1.0.0' matches any version greater than or equal to 1.0.0 of any module hosted under github.com\n  * 'github\\.com\\/updatecli\\/updatecli': '\u003e=1.0.0' matches any version greater than or equal to 1."
                                            },
                                            "goversion": {
                                                "type": "string",
                                                "description": "GoVersions specifies a list of version pattern.\nThe version constraint must be a valid semantic version constraint.\nIf GoVersion is empty then any version is matching.\nExample:\n  * '1.19.*' matches any 1.19.x version\n * '\u003e=1.20.0' matches any version greater than or equal to 1.20.0\n  * '\u003c1.20.0' matches any version strictly less than 1.20.0\n  * '*' matches any version"
                                            },
                                            "replace": {
                                                "type": "boolean",
                                                "description": "Replace indicates if the module is a replace directive.\nIf Replace is nil then any module is matching.\nIf Replace is true then only module with a replace directive is matching.\nIf Replace is false then only module without a replace directive is matching."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest to update based on file path, module name, module version, go version and replace directive."
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify \"rule\" to ignore autodiscovery a specific go.mod rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a go.mod path pattern\nThe pattern syntax is:\npattern:\n    { term }\nterm:\n    '*'         matches any sequence of non-Separator characters\n    '?'         matches any single non-Separator character\n    '[' [ '^' ] { character-range } ']'\n                character class (must be non-empty)\n    c           matches character c (c != '*', '?', '\\\\', '[')\n    '\\\\' c      matches character c\nexample:\n  * 'go.mod' matches 'go.mod' in the current directory\n  * '*/go.mod' matches 'go.mod' in any first level subdirectory"
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Modules specifies a list of module pattern.\nThe module accepts regular expression for module name and semantic versioning constraint for module version.\nIf module version is empty then any version is matching.\nExample:\n  * 'github.com/updatecli/updatecli': '' matches any version of the module github.com/updatecli/updatecli\n  * 'github.com/updatecli/updatecli': '1.0.0' matches only version 1.0.0 of the module github.com/updatecli/updatecli\n  * 'github.com/updatecli/updatecli': '\u003e=1.0.0' matches any version greater than or equal to 1.0.0 of the module github.com/updatecli/updatecli\n  * 'github.com/.*': '\u003e=1.0.0' matches any version greater than or equal to 1.0.0 of any module hosted under github.com\n  * 'github\\.com\\/updatecli\\/updatecli': '\u003e=1.0.0' matches any version greater than or equal to 1."
                                            },
                                            "goversion": {
                                                "type": "string",
                                                "description": "GoVersions specifies a list of version pattern.\nThe version constraint must be a valid semantic version constraint.\nIf GoVersion is empty then any version is matching.\nExample:\n  * '1.19.*' matches any 1.19.x version\n * '\u003e=1.20.0' matches any version greater than or equal to 1.20.0\n  * '\u003c1.20.0' matches any version strictly less than 1.20.0\n  * '*' matches any version"
                                            },
                                            "replace": {
                                                "type": "boolean",
                                                "description": "Replace indicates if the module is a replace directive.\nIf Replace is nil then any module is matching.\nIf Replace is true then only module with a replace directive is matching.\nIf Replace is false then only module without a replace directive is matching."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest to update based on file path, module name, module version, go version and replace directive."
                                    },
                                    "type": "array",
                                    "description": "`only` allows to specify rule to \"only\" autodiscover manifest for a specific golang rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Golang autodiscovery builder."
                        },
                        "helm": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides a parameter to specify if the generated manifest should use a digest on top of the tag when updating container."
                                },
                                "ignorecontainer": {
                                    "type": "boolean",
                                    "description": "ignorecontainer disables OCI container tag update when set to true"
                                },
                                "ignorechartdependency": {
                                    "type": "boolean",
                                    "description": "ignorechartdependency disables Helm chart dependencies update when set to true"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "dependencies": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Dependencies specifies a list of dependencies pattern."
                                            },
                                            "containers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Containers specifies a list of containers pattern."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore specifies rule to ignore Helm chart update."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootdir defines the root directory used to recursively search for Helm Chart"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "dependencies": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Dependencies specifies a list of dependencies pattern."
                                            },
                                            "containers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Containers specifies a list of containers pattern."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only specify required rule(s) to restrict Helm chart update."
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                },
                                "skippackaging": {
                                    "type": "boolean",
                                    "description": "[target] Defines if a Chart should be packaged or not."
                                },
                                "versionincrement": {
                                    "type": "string",
                                    "description": "[target] Defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch\""
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Helm parameters."
                        },
                        "helmfile": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootdir defines the root directory used to recursively search for Helmfile manifest"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Helmfile based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helmfile chart path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Helmfile based on a rule"
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Helmfile parameters."
                        },
                        "ko": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "Files allows to specify a list of Files to analyze.\n\n\t    The pattern syntax is:\n\t       pattern:\n\t         { term }\n\t       term:\n\t         '*'         matches any sequence of non-Separator characters\n\t         '?'         matches any single non-Separator character\n\t         '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t         c           matches character c (c != '*', '?', '\\\\', '[')\n\t         '\\\\' c      matches character c\n\n\t\t    character-range:\n\t\t    \tc           matches character c (c != '\\\\', '-', ']')\n\t         '\\\\' c      matches character c\n\t         lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n\n\t        Match requires pattern to match all of name, not just a substring.\n\t        The only possible returned error is ErrBadPattern, when pattern\n\t        is malformed.\n\n\t        On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t        path separator."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Kubernetes files"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Kubernetes builder."
                        },
                        "kubernetes": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "Files allows to specify a list of Files to analyze.\n\nThe pattern syntax is:\n  pattern:\n   { term }\n   term:\n     '*'         matches any sequence of non-Separator characters\n     '?'         matches any single non-Separator character\n     '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n     c           matches character c (c != '*', '?', '\\\\', '[')\n     '\\\\' c      matches character c\n\ncharacter-range:\n  c         matches character c (c != '\\\\', '-', ']')\n  '\\\\' c    matches character c\n  lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\nMatch requires pattern to match all of name, not just a substring.\nThe only possible returned error is ErrBadPattern, when pattern\nis malformed.\n\nOn Windows, escaping is disabled. Instead, '\\\\' is treated as\npath separator."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Kubernetes files"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Kubernetes builder."
                        },
                        "maven": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Helm Chart"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "groupids": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "GroupIDs specifies the list of Maven GroupIDs to check"
                                            },
                                            "artifactids": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Helm chart path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "groupids": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "GroupIDs specifies the list of Maven GroupIDs to check"
                                            },
                                            "artifactids": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "ArtifactIDs specifies the list of Maven ArtifactIDs to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Helm builder."
                        },
                        "nomad": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir defines the root directory used to recursively search for Nomad files\nIf rootDir is not provided, the current working directory will be used.\nIf rootDir is provided as an absolute path, scmID will be ignored.\nIf rootDir is not provided but a scmid is, then rootDir will be set to the git repository root directory."
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Nomad path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "jobs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Jobs specifies a list of Nomad job"
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific Helm based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Nomad path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "jobs": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Jobs specifies a list of Nomad job"
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Image specifies a list of docker image"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific Helm based on a rule"
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "filematch": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "FileMatch allows to override default docker-compose.yaml file matching. Default [\"docker-compose.yaml\",\"docker-compose.yml\",\"docker-compose.*.yaml\",\"docker-compose.*.yml\"]"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec is a struct fill from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct DockerCompose Spec defines the parameters which can be provided to the Helm builder."
                        },
                        "npm": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for npm packages.json"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "packages": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Packages specifies the list of NPM packages to check"
                                            },
                                            "hasversionconstraint": {
                                                "type": "boolean",
                                                "description": "HasVersionConstraint indicates whether the matching rule should match any version constraint or not."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a package.json path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "packages": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Packages specifies the list of NPM packages to check"
                                            },
                                            "hasversionconstraint": {
                                                "type": "boolean",
                                                "description": "HasVersionConstraint indicates whether the matching rule should match any version constraint or not."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                },
                                "ignoreversionconstraints": {
                                    "type": "boolean",
                                    "description": "IgnoreVersionConstraints indicates whether to respect version constraints defined in package.json or not.\nWhen set to true, Updatecli will ignore version constraints and update to the latest version available\nin the registry according to the specified version filter.\nDefault is false.\n\nRemark:\n * If set to false, Updatecli will try to convert version constrains to valid semantic version\n   so we can use versionFilter to retrieve the last Major/Minor/Patch version but in case of complex version constraints, such as \"\u003e=1.0.0 \u003c2.0.0\",\n   Updatecli will convert it to the first version it detects such as 1.0.0 in our example"
                                },
                                "npmrcpath": {
                                    "type": "string",
                                    "description": "NpmrcPath defines the path to the .npmrc file to use for all discovered packages.\nThis will be propagated to all generated npm resource specs."
                                },
                                "url": {
                                    "type": "string",
                                    "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`).\nThis will be propagated to all generated npm resource specs."
                                },
                                "registrytoken": {
                                    "type": "string",
                                    "description": "RegistryToken defines the token to use when connecting to the registry.\nThis will be propagated to all generated npm resource specs."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the NPM builder."
                        },
                        "plugin": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "spec": {
                                    "type": "object",
                                    "description": "Spec contains the plugin parameters.\ncfr the plugin documentation."
                                },
                                "allowedpaths": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "AllowedPaths is a list of paths to be accessed from inside the plugin sandbox,\na path can be either a plain path or a map from HOST_PATH:GUEST_PATH\n\nExample:\n  - .:/mnt\n  - /var/lib/updatecli:/data\n\nDefault: [\".:/mnt\"]\n\nRemark:\n  * Relative paths are considered relative to the Updatecli working directory.\n    If a scm root directory is set, relative paths are considered relative to the scm root directory.\n  * By default, the plugin runs from \"/mnt\""
                                },
                                "allowhosts": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "AllowedHosts hold a list of allowed hosts for HTTP requests from the plugin sandbox"
                                },
                                "timeout": {
                                    "type": "integer",
                                    "description": "Timeout defines a maximum execution time for the plugin in seconds\n\nDefault: 300 seconds"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object"
                        },
                        "precommit": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for npm packages.json"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "repos": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Repos specifies the list of NPM packages to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific NPM based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a .pre-commit-config.yaml path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "repos": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Repos specifies the list of NPM packages to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific NPM based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "Digest provides parameters to specify if the generated manifest should use a digest instead of the branch or tag.\nThis is equivalent to using the [`--freeze`](https://pre-commit.com/#pre-commit-autoupdate) option of precommit"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters uses to generate the precomit manifests"
                        },
                        "prow": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "Files allows to specify a list of Files to analyze.\n\nThe pattern syntax is:\n  pattern:\n   { term }\n   term:\n     '*'         matches any sequence of non-Separator characters\n     '?'         matches any single non-Separator character\n     '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n     c           matches character c (c != '*', '?', '\\\\', '[')\n     '\\\\' c      matches character c\n\ncharacter-range:\n  c         matches character c (c != '\\\\', '-', ']')\n  '\\\\' c    matches character c\n  lo '-' hi matches character c for lo \u003c= c \u003c= hi\n\nMatch requires pattern to match all of name, not just a substring.\nThe only possible returned error is ErrBadPattern, when pattern\nis malformed.\n\nOn Windows, escaping is disabled. Instead, '\\\\' is treated as\npath separator."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Kubernetes files"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Kubernetes manifest based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies the list of container image to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Kubernetes manifest based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the Kubernetes builder."
                        },
                        "rancher/fleet": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "token": {
                                                "type": "string"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    },
                                    "type": "object",
                                    "description": "Auths holds a map of string to string where the key is the registry URL and the value the token used for authentication\n\nPlease be aware that only the host part of the URL is used to lookup for authentication token.\n\nExample:\n\n```yaml\nauths:\n  \"my-helm-repo.com\": \"my-secret-token\"\n```"
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "RootDir defines the root directory used to recursively search for Fleet bundle"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore autodiscovery a specific Fleet bundle based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Fleet bundle path pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "repositories": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Repositories specifies the list of Helm Chart repository to check"
                                            },
                                            "charts": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Charts specifies the list of Helm Chart repository to check"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only autodiscover manifest for a specific Fleet bundle based on a rule"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the parameters which can be provided to the fleet builder."
                        },
                        "terraform": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "`rootdir` defines the root directory used to recursively search for `.terraform.lock.hcl`"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "providers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t  # Ignoring provider updates for this provider\n\t\t  registry.terraform.io/hashicorp/aws:\n\t\t  # Ignore provider updates for this version\n\t\t  registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update."
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a `.terraform.lock.hcl` path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "providers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`providers` specifies a map of providers, the key is provider url as seen in the `.terraform.lock.hcl`,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t  # Ignoring provider updates for this provider\n\t\t  registry.terraform.io/hashicorp/aws:\n\t\t  # Ignore provider updates for this version\n\t\t  registry.terraform.io/hashicorp/kubernetes: \"1.x\"\n\t\t```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update."
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                },
                                "platforms": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "`platforms` is the target platforms to request package checksums for.\n\n\t\tremarks:\n\t\t* Fallback is linux_amd64, linux_arm64, darwin_amd64, darwin_arm64"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Terraform parameters."
                        },
                        "terragrunt": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "`rootdir` defines the root directory from where looking for terragrunt configuration"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a terragrunt manifest path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`modules` specifies a map of modules, the key is module url as seen in the different terragrunt manifests,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t  # Ignore modules update for a specific registry\n\t\t  tfr://registry.opentofu.org:\n\t\t  # Ignore modules updates for a very specific module\n\t\t  tfr:///terraform-aws-modules/rdss/aws:\n\t\t  registry.terraform.io/hashicorp/aws:\n\t\t  # Ignore module updates for this version\n\t\t  git@github.com:hashicorp/exampleLongNameForSorting.git: \"1.x\"\n\t\t```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "`ignore` specifies rule to ignore `.terraform.lock.hcl` update."
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "`path` specifies a terragrunt manifest path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "modules": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "`modules` specifies a map of modules, the key is module url as seen in the different terragrunt manifests,\n\t\tthe value is an optional semver version constraint.\n\n\t\texamples:\n\t\t```\n\t\t- providers:\n\t\t  # Ignore modules update for a specific registry\n\t\t  tfr://registry.opentofu.org:\n\t\t  # Ignore modules updates for a very specific module\n\t\t  tfr:///terraform-aws-modules/rdss/aws:\n\t\t  registry.terraform.io/hashicorp/aws:\n\t\t  # Ignore module updates for this version\n\t\t  git@github.com:hashicorp/exampleLongNameForSorting.git: \"1.x\"\n\t\t```"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "`only` specify required rule to restrict `.terraform.lock.hcl` update."
                                },
                                "token": {
                                    "type": "string",
                                    "description": "`token` specifies the token to use for Git authentication when accessing private repositories.\nWorks with any Git provider (GitHub, GitLab, Bitbucket, Gitea, etc.)\n\ncompatible:\n  * autodiscovery\n\ndefault:\n  When not specified: No authentication (suitable for public repositories)\n\nremark:\n  Must be explicitly set for private repositories.\n  Use template functions to read from environment: token: \"{{ requiredEnv \\\"GITLAB_TOKEN\\\" }}\"\n\nexample:\n  token: \"ghp_xxxxxxxxxxxx\"\n  token: \"glpat-xxxxxxxxxxxx\"\n  token: \"{{ requiredEnv \\\"GITLAB_TOKEN\\\" }}\""
                                },
                                "username": {
                                    "type": "string",
                                    "description": "`username` specifies the username to use for Git authentication when accessing private repositories.\nWorks with any Git provider (GitHub, GitLab, Bitbucket, Gitea, etc.)\n\ncompatible:\n  * autodiscovery\n\ndefault:\n  When not specified: \"oauth2\" (matches GitHub SCM plugin, required for go-git HTTP BasicAuth)\n\nremark:\n  For token-based auth, the username is typically a placeholder (token identifies the user).\n  Common values: \"oauth2\" (default), \"x-access-token\", \"git\", or actual username.\n  Use template functions to read from environment: username: \"{{ requiredEnv \\\"GIT_USERNAME\\\" }}\"\n\nexample:\n  username: \"git\"\n  username: \"oauth2\"\n  username: \"{{ requiredEnv \\\"GIT_USERNAME\\\" }}\""
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "`versionfilter` provides parameters to specify the version pattern to use when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Terraform parameters."
                        },
                        "updatecli": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootdir defines the root directory used to recursively search for Updatecli manifest"
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "policies": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Policies specifies a Updatecli policy"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Ignore allows to specify rule to ignore \"autodiscovery\" a specific Updatecli based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Updatecli compose filepath pattern, the pattern requires to match all of name, not just a subpart of the path."
                                            },
                                            "policies": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "Policies specifies a Updatecli policy"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specifies rules to identify manifest"
                                    },
                                    "type": "array",
                                    "description": "Only allows to specify rule to only \"autodiscovery\" manifest for a specific Updatecli based on a rule"
                                },
                                "files": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "Files allows to specify a list of Files to analyze.\n\n\t    The pattern syntax is:\n\t       pattern:\n\t         { term }\n\t       term:\n\t         '*'         matches any sequence of non-Separator characters\n\t         '?'         matches any single non-Separator character\n\t         '[' [ '^' ] { character-range } ']' character class (must be non-empty)\n\t         c           matches character c (c != '*', '?', '\\\\', '[')\n\t         '\\\\' c      matches character c\n\n\t\t    character-range:\n\t\t    \tc           matches character c (c != '\\\\', '-', ']')\n\t         '\\\\' c      matches character c\n\t         lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n\n\t        Match requires pattern to match all of name, not just a substring.\n\t        The only possible returned error is ErrBadPattern, when pattern\n\t        is malformed.\n\n\t        On Windows, escaping is disabled. Instead, '\\\\' is treated as\n\t        path separator."
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "Auths provides a map of registry credentials where the key is the registry URL without scheme"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\n\t\tkind - semver\n\t\t\tversionfilter of kind `semver` uses semantic versioning as version filtering\n\t\t\tpattern accepts one of:\n\t\t\t\t`patch` - patch only update patch version\n\t\t\t\t`minor` - minor only update minor version\n\t\t\t\t`major` - major only update major versions\n\t\t\t\t`a version constraint` such as `\u003e= 1.0.0`\n\n\t\tkind - regex\n\t\t\tversionfilter of kind `regex` uses regular expression as version filtering\n\t\t\tpattern accepts a valid regular expression\n\n\t\texample:\n\t\t```\n\t\t\tversionfilter:\n\t\t\t\tkind: semver\n\t\t\t\tpattern: minor\n\t\t```\n\n\t\tand its type like regex, semver, or just latest."
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec defines the Updatecli parameters."
                        },
                        "woodpecker": {
                            "$schema": "http://json-schema.org/draft-04/schema",
                            "properties": {
                                "digest": {
                                    "type": "boolean",
                                    "description": "digest provides parameters to specify if the generated manifest should use a digest on top of the tag."
                                },
                                "rootdir": {
                                    "type": "string",
                                    "description": "rootDir defines the root directory used to recursively search for Woodpecker workflow files\nIf rootDir is not provided, the current working directory will be used.\nIf rootDir is provided as an absolute path, scmID will be ignored.\nIf rootDir is not provided but a scmid is, then rootDir will be set to the git repository root directory."
                                },
                                "ignore": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Woodpecker workflow path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies a list of docker images"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specify rules to identify manifests"
                                    },
                                    "type": "array",
                                    "description": "ignore allows to specify rule to ignore autodiscovery a specific Woodpecker workflow based on a rule"
                                },
                                "only": {
                                    "items": {
                                        "properties": {
                                            "path": {
                                                "type": "string",
                                                "description": "Path specifies a Woodpecker workflow path pattern, the pattern requires to match all of name, not just a substring."
                                            },
                                            "images": {
                                                "items": {
                                                    "type": "string"
                                                },
                                                "type": "array",
                                                "description": "Images specifies a list of docker images"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "MatchingRule allows to specify rules to identify manifests"
                                    },
                                    "type": "array",
                                    "description": "only allows to specify rule to only autodiscover manifest for a specific Woodpecker workflow based on a rule"
                                },
                                "auths": {
                                    "additionalProperties": {
                                        "properties": {
                                            "username": {
                                                "type": "string",
                                                "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "password": {
                                                "type": "string",
                                                "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                            },
                                            "token": {
                                                "type": "string",
                                                "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "InlineKeyChain defines a keychain with OCI registry credentials"
                                    },
                                    "type": "object",
                                    "description": "auths provides a map of registry credentials where the key is the registry URL without scheme\nif empty, updatecli relies on OCI credentials such as the one used by Docker.\n\nexample:\n\n---\nauths:\n  \"ghcr.io\":\n    token: \"xxx\"\n  \"index.docker.io\":\n    username: \"admin\"\n    password: \"password\"\n---"
                                },
                                "filematch": {
                                    "items": {
                                        "type": "string"
                                    },
                                    "type": "array",
                                    "description": "FileMatch allows to override default Woodpecker workflow file matching.\nDefault [\".woodpecker.yml\", \".woodpecker.yaml\", \".woodpecker/*.yml\", \".woodpecker/*.yaml\", \".woodpecker/**/*.yml\", \".woodpecker/**/*.yaml\"]"
                                },
                                "versionfilter": {
                                    "properties": {
                                        "kind": {
                                            "type": "string",
                                            "description": "specifies the version kind such as semver, regex, or latest"
                                        },
                                        "pattern": {
                                            "type": "string",
                                            "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                        },
                                        "strict": {
                                            "type": "boolean",
                                            "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                        },
                                        "regex": {
                                            "type": "string",
                                            "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                        },
                                        "replaceall": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern specifies the regex pattern to match for replacement"
                                                },
                                                "replacement": {
                                                    "type": "string",
                                                    "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "versionfilter provides parameters to specify the version pattern used when generating manifest.\n\nMore information available at\nhttps://www.updatecli.io/docs/core/versionfilter/\n\nkind - semver\n  versionfilter of kind `semver` uses semantic versioning as version filtering\n  pattern accepts one of:\n    `patch` - patch only update patch version\n    `minor` - minor only update minor version\n    `major` - major only update major versions\n    `a version constraint` such as `\u003e= 1.0.0`\n\nkind - regex\nversionfilter of kind `regex` uses regular expression as version filtering\npattern accepts a valid regular expression\n\nexample:\n```\n  versionfilter:\n  kind: semver\n  pattern: minor\n```\n\nMore version filter available at https://www.updatecli.io/docs/core/versionfilter/"
                                }
                            },
                            "additionalProperties": false,
                            "type": "object",
                            "description": "Spec is a struct filled from Updatecli manifest data and shouldn't be modified at runtime unless For Fields that requires it, we can use the struct Woodpecker Spec defines the parameters which can be provided to the Woodpecker autodiscovery plugin."
                        }
                    },
                    "type": "object",
                    "description": "Crawlers defines a map of crawler configuration where the key represent the crawler type"
                },
                "scmid": {
                    "type": "string",
                    "description": "scmid is a unique identifier used to retrieve the scm configuration from the configuration file."
                },
                "actionid": {
                    "type": "string",
                    "description": "actionid is a unique identifier used to retrieve the action configuration from the configuration file."
                },
                "groupby": {
                    "type": "string",
                    "description": "groupby specifies how to group pipeline. The Accepted is one of \"all\", \"individual\". Default is \"all\"\n\n\t\tdefault:\n\t\t\tall"
                },
                "pullrequestid": {
                    "type": "string",
                    "description": "!Deprecated in favor of `actionid`"
                }
            },
            "additionalProperties": false,
            "type": "object",
            "description": "\"autodiscovery\" defines the configuration to automatically discover new versions update.\n\nexample:\n---\nautodiscovery:\n\tscmid: default\n\tactionid:  default\n\tgroupby: all\n\tcrawlers:\n\t  golang/gomod:\n\t  \tversionfilter:\n\t  \tkind: semver\n\t  \tpattern: patch\n---"
        },
        "actions": {
            "additionalProperties": {
                "oneOf": [
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "title": {
                                "type": "string"
                            },
                            "kind": {
                                "enum": [
                                    "bitbucket/pullrequest"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n   A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t  or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "Repository specifies the name of a repository for a specific owner"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "SourceBranch specifies the pullrequest source branch"
                                    },
                                    "targetbranch": {
                                        "type": "string",
                                        "description": "TargetBranch specifies the pullrequest target branch"
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Title defines the Bitbucket pullrequest title."
                                    },
                                    "body": {
                                        "type": "string",
                                        "description": "Body defines the Bitbucket pullrequest body"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified"
                            },
                            "scmid": {
                                "type": "string"
                            },
                            "disablepipelineurl": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "title": {
                                "type": "string"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/pullrequest"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "targetbranch": {
                                        "type": "string",
                                        "description": "\"targetbranch\" defines the branch name used as a target to create the Gitea pullrequest.\n\n\t\tdefault:\n\t\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitea\" is specified by the action.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\t\tthe Gitea scm will create and use a working branch such as updatecli_xxxx"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the Gitea repository owner.\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "\"repository\" defines the Gitea repository for a specific owner\n\n\t\tremark:\n\t\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "\"title\" defines the Gitea pullrequest title\n\n\t\tdefault:\n\t\t\tA Gitea pullrequest title is defined by one of the following location (first match)\n\t\t\t\t1. title is defined by the spec such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid: default\n\t\t\t\t\t\t\tspec:\n\t\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t2. title is defined by the action such as:\n\n\t\t\t\t\tactions:\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tkind: gitea/pullrequest\n\t\t\t\t\t\t\tscmid default\n\t\t\t\t\t\t\ttitle: This is my awesome title\n\n\t\t\t\t3. title is defined by the first associated target title\n\n\t\t\t\t4. title is defined by the pipeline title\n\n\t\tremark:\n\t\t\tusually we prefer to go with option 2"
                                    },
                                    "body": {
                                        "type": "string",
                                        "description": "\"body\" defines a custom body pullrequest.\n\n\t\tdefault:\n\t\t\tBy default a pullrequest body is generated out of a pipeline execution.\n\n\t\tremark:\n\t\t\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\t\t\"body\" is useful to provide additional information when reviewing pullrequest, such as changelog url."
                                    },
                                    "assignees": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"assignees\" defines a list of assignees for the pull request.\n\n\t\tdefault:\n\t\t\tNo assignees are set on the pull request.\n\n\t\tremark:\n\t\t\tYou can use this to assign specific users to review the pull request.\n\t\t\tMake sure the users you specify have access to the repository."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified"
                            },
                            "scmid": {
                                "type": "string"
                            },
                            "disablepipelineurl": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "title": {
                                "type": "string"
                            },
                            "kind": {
                                "enum": [
                                    "github/pullrequest"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "automerge": {
                                        "type": "boolean",
                                        "description": "automerge allows to enable/disable the automerge feature on new pullrequest\ndeprecated since the field \"merge.strategy\" should now be used to specify the merge strategy and enable automerge with \"auto\" value.\n\ncompatible:\n  * action\n\ndefault:\n  false\n\ndeprecated: use merge.strategy: auto instead"
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "title allows to override the pull request title\n\ncompatible:\n  * action\n\ndefault:\n  The default title is fetch from the first following location:\n  1. The action title\n  2. The target title if only one target\n  3. The pipeline target"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "description allows to prepend information to the pullrequest description.\n\ncompatible:\n  * action\n\ndefault:\n  empty"
                                    },
                                    "labels": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "labels specifies repository labels used for the Pull Request.\n\ncompatible:\n  * action\n\ndefault:\n   empty\n\nremark:\n  Labels must already exist on the repository"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "draft allows to set pull request in draft\n\ncompatible:\n  * action\n\ndefault:\n  false"
                                    },
                                    "maintainercannotmodify": {
                                        "type": "boolean",
                                        "description": "maintainercannotmodify allows to specify if maintainer can modify pullRequest\n\ncompatible:\n  * action\n\ndefault:\n  false"
                                    },
                                    "mergemethod": {
                                        "type": "string",
                                        "description": "mergemethod allows to specifies what merge method is used to incorporate the pull request.\n\ncompatible:\n  * action\n\ndefault:\n  \"\"\n\nremark:\n  Accept \"merge\", \"squash\", \"rebase\", or \"\""
                                    },
                                    "usetitleforautomerge": {
                                        "type": "boolean",
                                        "description": "usetitleforautomerge allows to specifies to use the Pull Request title as commit message when using auto merge,\n\ncompatible:\n  * action\n\ndefault:\n  \"\"\n\nremark:\n  Only works for \"squash\" or \"rebase\""
                                    },
                                    "parent": {
                                        "type": "boolean",
                                        "description": "parent allows to specifies if a pull request should be sent to the parent of the current fork.\n\ncompatible:\n  * action\n\ndefault:\n  false"
                                    },
                                    "reviewers": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Reviewers contains the list of assignee to add to the pull request\ncompatible:\n  * action\n\ndefault: empty\n\nremark:\n  * if reviewer is a team, the format is \"organization/team\" and the token must have organization read permission."
                                    },
                                    "assignees": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Assignees contains the list of assignee to add to the pull request\n\ndefault: empty\n\nremark:\n  * Please note that contrary to reviewers, assignees only accept GitHub usernames"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "ActionSpec specifies the configuration of an action of type \"GitHub Pull Request\""
                            },
                            "scmid": {
                                "type": "string"
                            },
                            "disablepipelineurl": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "title": {
                                "type": "string"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/mergerequest"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the GitLab mergerequest.\n\ndefault:\n\t\t\"sourcebranch\" inherits the value from the scm branch if a scm of kind \"gitlab\" is specified by the action.\n\nremark:\n\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "targetbranch": {
                                        "type": "string",
                                        "description": "\"targetbranch\" defines the branch name used as a target to create the GitLab mergerequest.\n\ndefault:\n\t\t\"targetbranch\" inherits the value from the scm working branch if a scm of kind \"gitlab\" is specified by the action.\n\nremark:\n\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default.\n\t\tthe GitLab scm will create and use a working branch such as updatecli_xxxx"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the GitLab repository owner.\n\nremark:\n\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "\"repository\" defines the GitLab repository for a specific owner\n\nremark:\n\t\tunless you know what you are doing, you shouldn't set this value and rely on the scmid to provide the sane default."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "\"title\" defines the GitLab mergerequest title\n\ndefault:\n\t \tA GitLab mergerequest title is defined by one of the following location (first match)\n\t \t\t1. title is defined by the spec such as:\n\n\t \t\t\tactions:\n\t \t\t\t\tdefault:\n\t \t\t\t\t\tkind: gitlab/mergerequest\n\t \t\t\t\t\tscmid: default\n\t \t\t\t\t\tspec:\n\t \t\t\t\t\t\ttitle: This is my awesome title\n\n\t \t\t2. title is defined by the action such as:\n\n\t \t\t\tactions:\n\t \t\t\t\tdefault:\n\t \t\t\t\t\tkind: gitlab/mergerequest\n\t \t\t\t\t\tscmid default\n\t \t\t\t\t\ttitle: This is my awesome title\n\n\t \t\t3. title is defined by the first associated target title\n\n\t \t\t4. title is defined by the pipeline title\n\nremark:\n\t\tusually we prefer to go with option 2"
                                    },
                                    "body": {
                                        "type": "string",
                                        "description": "\"body\" defines a custom mergerequest body\n\ndefault:\n\tBy default a mergerequest body is generated out of a pipeline execution.\n\nremark:\n\tUnless you know what you are doing, you shouldn't set this value and rely on the sane default.\n\t\"body\" is useful to provide additional information when reviewing mergerequest, such as changelog url."
                                    },
                                    "assignees": {
                                        "items": {
                                            "type": "integer"
                                        },
                                        "type": "array",
                                        "description": "\"assignees\" contains the list of assignee to add to the merge request\n\ndefault: empty\n\nremark:\n  assignees only accept GitLab User IDs.\n  To find the user ID:\n   1. Go to the users’ profile page.\n   2. On the profile page, in the upper-right corner, select Actions (or ⋮).\n   3. Select Copy user ID."
                                    },
                                    "reviewers": {
                                        "items": {
                                            "type": "integer"
                                        },
                                        "type": "array",
                                        "description": "\"reviewers\" contains the list of reviewers to add to the merge request\n\ndefault: empty\n\nremark:\n  assignees only accept GitLab User IDs.\n  To find the user ID:\n   1. Go to the users’ profile page.\n   2. On the profile page, in the upper-right corner, select Actions (or ⋮).\n   3. Select Copy user ID."
                                    },
                                    "squash": {
                                        "type": "boolean",
                                        "description": "\"squash\" defines if all commits should be squashed into a single commit on merge\n\ndefault: false\n\nremark:\n\t\tproject settings might override this value"
                                    },
                                    "removesourcebranch": {
                                        "type": "boolean",
                                        "description": "\"removesourcebranch\" is a flag indicating if a merge request should remove the source branch when merging\n\ndefault: false"
                                    },
                                    "labels": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"labels\" defines labels for the merge request.\n\n\tdefault: empty\n\n\tremark:\n\t\tif a label does not already exist, this creates a new project label and assigns it to the merge request"
                                    },
                                    "mergecommitmessage": {
                                        "type": "string",
                                        "description": "mergecommitmessage defines the commit message used when the merge request is merged\n\ndefault: empty\n\nremark:\n  if empty, GitLab will use the default message\n  format defined in the project settings"
                                    },
                                    "squashcommitmessage": {
                                        "type": "string",
                                        "description": "squashcommitmessage defines the commit message used when the merge request is squashed and merged\n\ndefault: empty\n\nremark:\n  if empty, GitLab will use the default message\n  format defined in the project settings"
                                    },
                                    "allowcollaboration": {
                                        "type": "boolean",
                                        "description": "allowcollaboration indicates whether to allow commits from members who can merge to the target branch\n\ndefault: false\n\nremark:\n  when set to true, members with write access to the repository can push commits to the source branch\n  of the merge request"
                                    },
                                    "automerge": {
                                        "type": "boolean",
                                        "description": "automerge allows to enable/disable the automerge feature on new merge request\n\ndefault: false\n\nremark:\n  when set to true, the merge request will be automatically merged when all conditions are met\n  (pipeline succeeds, approvals are given, etc.)"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines settings used to interact with GitLab pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified"
                            },
                            "scmid": {
                                "type": "string"
                            },
                            "disablepipelineurl": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "title": {
                                "type": "string"
                            },
                            "kind": {
                                "enum": [
                                    "stash/pullrequest"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "Repository specifies the name of a repository for a specific owner"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "SourceBranch specifies the pullrequest source branch"
                                    },
                                    "targetbranch": {
                                        "type": "string",
                                        "description": "TargetBranch specifies the pullrequest target branch"
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Title defines the Bitbucket pullrequest title."
                                    },
                                    "body": {
                                        "type": "string",
                                        "description": "Body defines the Bitbucket pullrequest body"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server pullrequest It's a mapping of user input from a Updatecli manifest and it shouldn't modified"
                            },
                            "scmid": {
                                "type": "string"
                            },
                            "disablepipelineurl": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    }
                ]
            },
            "type": "object",
            "description": "\"actions\" defines the list of action configurations which need to be managed.\nThey are triggered if any of the depending target is updated.\n\nexamples:\n---\nactions:\n\tdefault:\n\t  kind: github/pullrequest\n\t  scmid: default\n\t  spec:\n\t  \tautomerge: true\n\t  \tlabels:\n\t  \t  - \"dependencies\"\n---"
        },
        "scms": {
            "additionalProperties": {
                "oneOf": [
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "bitbucket"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Cloud API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Cloud API\n\n The \"token\" is a repository or project access token with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Cloud API, it must be combined with \"username\"\n\n The \"password\" should be app password with \"pullrequest:write\" scope.\n\n \"token\" and \"password\" are mutually exclusive\n\n remark:\n   A password is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_PASSWORD\"}}` to retrieve the token from the environment variable `BITBUCKET_PASSWORD`\n\t  or `{{ .bitbucket.password }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n   * scm\n\n remark:\n   it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n   * scm\n\n remark:\n   Unless you know what you are doing, it is recommended to use the default value.\n   The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n   The default value is based on your local temporary directory like: (on Linux)\n   /tmp/updatecli/bitbucket/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n   * scm\n\n default:\n   default set to your global git configuration"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n   * scm\n\n default:\n   true\n\n remark:\n   When force is set to true, Updatecli also recreate the working branches that\n   diverged from their base branch."
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n   * scm\n\n default:\n   main\n\n remark:\n   depending on which resource references the Bitbucket Cloud scm, the behavior will be different.\n\n   If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n   file(s) from that branch.\n\n   If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n   The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n   The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t  * scm\n\n default: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t  * scm\n\n default: true"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Cloud release"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "git"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to work on.\n\n\tcompatible:\n\t  * scm\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * scm"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * scm"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t  * scm\n\n\tdefault:\n\t\tmain\n\n\tremark:\n\t\tdepending on which resource references the GitHub scm, the behavior will be different.\n\n\t\tIf the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n\t\tfile(s) from that branch.\n\n\t\tIf the scm is linked to target then Updatecli will push any changes to that branch\n\n\t\tFor more information, please refer to the following issue:\n\t\thttps://github.com/updatecli/updatecli/issues/1139"
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t  * scm"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\n\tcompatible:\n\t  * scm\n\n\tdefault:\n\t\tdefault set to your global git configuration"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t  * scm\n\n\tremark:\n\t  Unless you know what you are doing, it is highly recommended to use the default value.\n\t  The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t  The default value is based on your local temporary directory like /tmp/updatecli/\u003curl\u003e on Linux"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n\t  * scm\n\n default:\n\t  false\n\n remark:\n   When force is set to true, Updatecli also recreate the working branches that\n   diverged from their base branch."
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\n\tcompatible:\n\t  * scm\n\n\tremark:\n\t  it's worth mentioning that the commit message is applied to all targets linked to the same scm.\n\n\tdefault:\n\t  false"
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t  * scm"
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t  * scm\n\n default: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n   * scm\n\n default: false"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec contains settings to manipulate a git repository."
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "gitea"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n   * scm\n\n remark:\n   it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n   * scm\n\n remark:\n   Unless you know what you are doing, it is recommended to use the default value.\n   The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n    The default value is based on your local temporary directory like: (on Linux)\n    /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n   * scm\n\n default:\n   default set to your global git configuration"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n\tcompatible:\n   * scm\n\n default:\n   true\n\n remark:\n   When force is set to true, Updatecli also recreates the working branches that\n   diverged from their base branch."
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n   * scm"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n   * scm"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "\"repository\" specifies the name of a repository for a specific owner.\n\n compatible:\n   * scm"
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n\tcompatible:\n   * scm"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\n\tcompatible:\n\t  * scm\n\n\tdefault:\n\t  main\n\n\tremark:\n\t  depending on which resource references the Gitea scm, the behavior will be different.\n\n   If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n   file(s) from that branch.\n\n   If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n   The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t  The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t  * scm\n\n default: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n   * scm\n\n default: true"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "github"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\ncompatible:\n  * scm\n\ndefault:\n  main\n\nremark:\n  depending on which resource references the GitHub scm, the behavior will be different.\n\n  If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n  file(s) from that branch.\n\n  If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n  The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n  The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\ncompatible:\n  * scm\n\nremark:\n  Unless you know what you are doing, it is recommended to use the default value.\n  The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\ndefault:\n  The default value is based on your local temporary directory like: (on Linux)\n  /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\ncompatible:\n  * scm\n\ndefault:\n  default set to your global git configuration"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the owner of a repository.\n\ncompatible:\n  * scm"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "\"repository\" specifies the name of a repository for a specific owner.\n\ncompatible:\n * scm"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\ncompatible:\n * scm\n\nremark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\n or `{{ .github.token }}` to retrieve the token from a SOPS file.\n For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\ncompatible:\n  * scm\n\ndefault:\n  github.com"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\ncompatible:\n  * scm\n\nremark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories."
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\ncompatible:\n * scm"
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\ncompatible:\n  * scm"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\ncompatible:\n  * scm\n\ndefault:\n  true\n\nremark:\n  When force is set to true, Updatecli also recreates the working branches that\n  diverged from their base branch."
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\ncompatible:\n  * scm\n\nremark:\n  it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\ncompatible:\n  * scm\n\ndefault: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\nIf set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\ncompatible:\n * scm\n\ndefault: true"
                                    },
                                    "commitusingapi": {
                                        "type": "boolean",
                                        "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\nWhen set to `true`, a commit created from a GitHub action using the GITHUB_TOKEN will automatically be signed by GitHub.\nMore info on https://github.com/updatecli/updatecli/issues/1914\n\ncompatible:\n * scm\n\ndefault: false"
                                    },
                                    "app": {
                                        "properties": {
                                            "clientid": {
                                                "type": "string",
                                                "description": "ClientID represents the GitHub App client ID"
                                            },
                                            "privatekey": {
                                                "type": "string",
                                                "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                            },
                                            "privatekeypath": {
                                                "type": "string",
                                                "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                            },
                                            "installationid": {
                                                "type": "string",
                                                "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                            },
                                            "expirationtime": {
                                                "type": "string",
                                                "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"app\" specifies the GitHub App credentials used to authenticate with GitHub API.\nIt is not compatible with the \"token\" and \"username\" fields.\nIt is recommended to use the GitHub App authentication method for better security and granular permissions.\nFor more information, please refer to the following documentation:\nhttps://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec represents the configuration input"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "githubsearch"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Limit defines the maximum number of repositories to return from the search query.\n\ncompatible:\n  * scm\n\ndefault:\n  10\n\nremark:\n  If limit is set to 0, all repositories matching the search query will be returned."
                                    },
                                    "search": {
                                        "type": "string",
                                        "description": "Search defines the GitHub repository search query.\n\ncompatible:\n  * scm\n\nremark:\n  For more information about the search query syntax, please refer to the following documentation:\n  https://docs.githubz.com/en/search-github/searching-on-github/searching-for-repositories"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\ncompatible:\n  * scm\n\ndefault:\n  ^main$\n\nremark:\n  depending on which resource references the GitHub scm, the behavior will be different.\n\n  If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n  file(s) from that branch.\n\n  If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n  The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n  The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\ncompatible:\n  * scm\n\nremark:\n  Unless you know what you are doing, it is recommended to use the default value.\n  The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\ndefault:\n  The default value is based on your local temporary directory like: (on Linux)\n  /tmp/updatecli/github/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\ncompatible:\n  * scm\n\ndefault:\n  default set to your global git configuration"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with GitHub API.\n\ncompatible:\n * scm\n\nremark:\n A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n but to use an environment variable or a SOPS file.\n\n The value can be set to `{{ requiredEnv \"GITHUB_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\n or `{{ .github.token }}` to retrieve the token from a SOPS file.\n For more information, about a SOPS file, please refer to the following documentation:\n https://github.com/getsops/sops"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default github url in case of GitHub enterprise\n\ncompatible:\n  * scm\n\ndefault:\n  github.com"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with GitHub API.\n\ncompatible:\n  * scm\n\nremark:\n the token is usually enough to authenticate with GitHub API. Needed when working with GitHub private repositories."
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\ncompatible:\n * scm"
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\ncompatible:\n  * scm"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\ncompatible:\n  * scm\n\ndefault:\n  true\n\nremark:\n  When force is set to true, Updatecli also recreates the working branches that\n  diverged from their base branch."
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\ncompatible:\n  * scm\n\nremark:\n  it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\ncompatible:\n  * scm\n\ndefault: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\nIf set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\ncompatible:\n * scm\n\ndefault: true"
                                    },
                                    "commitusingapi": {
                                        "type": "boolean",
                                        "description": "\"commitUsingApi\" defines if Updatecli should use GitHub GraphQL API to create the commit.\nWhen set to `true`, a commit created from a GitHub action using the GITHUB_TOKEN will automatically be signed by GitHub.\nMore info on https://github.com/updatecli/updatecli/issues/1914\n\ncompatible:\n * scm\n\ndefault: false"
                                    },
                                    "app": {
                                        "properties": {
                                            "clientid": {
                                                "type": "string",
                                                "description": "ClientID represents the GitHub App client ID"
                                            },
                                            "privatekey": {
                                                "type": "string",
                                                "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                            },
                                            "privatekeypath": {
                                                "type": "string",
                                                "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                            },
                                            "installationid": {
                                                "type": "string",
                                                "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                            },
                                            "expirationtime": {
                                                "type": "string",
                                                "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"app\" specifies the GitHub App credentials used to authenticate with GitHub API.\nIt is not compatible with the \"token\" and \"username\" fields.\nIt is recommended to use the GitHub App authentication method for better security and granular permissions.\nFor more information, please refer to the following documentation:\nhttps://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "search"
                                ],
                                "description": "Spec represents the configuration input"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "gitlab"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n   * scm\n\n remark:\n   it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\n\tcompatible:\n\t  * scm\n\n\tremark:\n   Unless you know what you are doing, it is recommended to use the default value.\n\t  The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n\tdefault:\n\t  The default value is based on your local temporary directory like: (on Linux)\n\t  /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n   * scm\n\n default:\n   default set to your global git configuration"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n   * scm\n\n default:\n   true\n\n remark:\n   When force is set to true, Updatecli also recreates the working branches that\n   diverged from their base branch."
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing.\n\n compatible:\n\t  * scm"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the owner of a repository.\n\n compatible:\n   * scm"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository specifies the name of a repository for a specific owner.\n\n compatible:\n   * action\n   * scm"
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli.\n\n compatible:\n   * scm"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n   * scm\n\n default:\n   main\n\n remark:\n   depending on which resource references the GitLab scm, the behavior will be different.\n\n   If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n   file(s) from that branch.\n\n   If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n   The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n\t  The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t  * scm\n\n default: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n   * scm\n\n default: true"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "gitlabsearch"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "group": {
                                        "type": "string",
                                        "description": "\"group\" defines the GitLab group (or subgroup) to search repositories in.\n\ncompatible:\n  * scm\n\nremark:\n  Supports nested groups using slash notation, e.g. \"myorg/myteam\"."
                                    },
                                    "search": {
                                        "type": "string",
                                        "description": "\"search\" filters the repository list by name.\n\ncompatible:\n  * scm\n\nremark:\n  When omitted, all projects in the group are returned."
                                    },
                                    "includesubgroups": {
                                        "type": "boolean",
                                        "description": "\"includeSubgroups\" defines whether projects from subgroups should be included in the search results.\n\ncompatible:\n  * scm\n\ndefault:\n  true"
                                    },
                                    "limit": {
                                        "type": "integer",
                                        "description": "Limit defines the maximum number of repositories to return.\n\ncompatible:\n  * scm\n\ndefault:\n  10\n\nremark:\n  If limit is set to 0, all repositories matching the query will be returned."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\ncompatible:\n  * scm\n\ndefault:\n  ^main$\n\nremark:\n  The branch value is a regular expression used to match branches across the discovered repositories.\n\n  If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n  file(s) from that branch.\n\n  If the scm is linked to a target then Updatecli creates a new \"working branch\" based on the branch value.\n  The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n  The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\ncompatible:\n  * scm\n\nremark:\n  Unless you know what you are doing, it is recommended to use the default value.\n  The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\ndefault:\n  The default value is based on your local temporary directory like: (on Linux)\n  /tmp/updatecli/gitlab/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\ncompatible:\n  * scm\n\ndefault:\n  default set to your global git configuration"
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\ncompatible:\n * scm"
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrase used for commit signing\n\ncompatible:\n  * scm"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\ncompatible:\n  * scm\n\ndefault:\n  true\n\nremark:\n  When force is set to true, Updatecli also recreates the working branches that\n  diverged from their base branch."
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\ncompatible:\n  * scm\n\nremark:\n  it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\ncompatible:\n  * scm\n\ndefault: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\nIf set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\ncompatible:\n * scm\n\ndefault: true"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "group"
                                ],
                                "description": "Spec represents the configuration input for the gitlabsearch SCM."
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "kind": {
                                "enum": [
                                    "stash"
                                ]
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "\"owner\" defines the owner of a repository.\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository specifies the name of a repository for a specific owner.\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "commitmessage": {
                                        "properties": {
                                            "type": {
                                                "type": "string",
                                                "description": "type defines the type of commit message such as \"chore\", \"fix\", \"feat\", etc. as\n defined by the conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   * chore"
                                            },
                                            "scope": {
                                                "type": "string",
                                                "description": "scope defines the scope of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "footers": {
                                                "type": "string",
                                                "description": "footers defines the footer of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "title": {
                                                "type": "string",
                                                "description": "Title is the parsed commit message title (not configurable via YAML).\n The title is automatically generated from the target name or description."
                                            },
                                            "deprecatedtitle": {
                                                "type": "string",
                                                "description": "DeprecatedTitle is deprecated and will be ignored.\n The commit title is now always generated from the target name or description."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "body defines the commit body of the commit message as defined by the\n conventional commit specification. More information on\n -\u003e https://www.conventionalcommits.org/en/\n\n default:\n   none"
                                            },
                                            "hidecredit": {
                                                "type": "boolean",
                                                "description": "hideCredit defines if updatecli credits should be displayed inside commit message body\n\n please consider sponsoring the Updatecli project if you want to disable credits.\n -\u003e https://github.com/updatecli/updatecli\n\n default:\n \tfalse"
                                            },
                                            "squash": {
                                                "type": "boolean",
                                                "description": "squash defines if the commit should be squashed\n\n default:\n \tfalse\n\n important:\n  if squash is set to true, then it's highly recommended to set the commit body\n  to a meaningful value as all other commit information will be lost during the squash operation.\n\n  if body is not set, then the commit title/message will be generated based on the most recent commit\n  message of the squashed commits. The commit title is always generated from the target name or description."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"commitMessage\" is used to generate the final commit message.\n\n compatible:\n   * scm\n\n remark:\n   it's worth mentioning that the commit message settings is applied to all targets linked to the same scm."
                                    },
                                    "directory": {
                                        "type": "string",
                                        "description": "\"directory\" defines the local path where the git repository is cloned.\n\n compatible:\n   * scm\n\n remark:\n   Unless you know what you are doing, it is recommended to use the default value.\n   The reason is that Updatecli may automatically clean up the directory after a pipeline execution.\n\n default:\n   The default value is based on your local temporary directory like: (on Linux)\n   /tmp/updatecli/stash/\u003cowner\u003e/\u003crepository\u003e"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth defines the depth used when cloning the git repository.\n\nDefault: disabled (full clone)\n\nRemark:\n  When using a shallow clone (depth greater than 0), Updatecli is not able to retrieve the full git history.\n  This may cause some issues when Updatecli tries to push changes to the remote repository.\n  In that case, you may need to set the force option to true to force push changes to the remote repository."
                                    },
                                    "email": {
                                        "type": "string",
                                        "description": "\"email\" defines the email used to commit changes.\n\n compatible:\n   * scm\n\n default:\n   default set to your global git configuration"
                                    },
                                    "force": {
                                        "type": "boolean",
                                        "description": "\"force\" is used during the git push phase to run `git push --force`.\n\n compatible:\n   * scm\n\n default:\n   true\n\n remark:\n   When force is set to true, Updatecli also recreate the working branches that\n   diverged from their base branch."
                                    },
                                    "gpg": {
                                        "properties": {
                                            "signingkey": {
                                                "type": "string",
                                                "description": "signingKey defines the gpg key used to sign the commit message\n\n\t\tdefault:\n\t\t\tnone"
                                            },
                                            "passphrase": {
                                                "type": "string",
                                                "description": "passphrase defines the gpg passphrase used to sign the commit message"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"gpg\" specifies the GPG key and passphrased used for commit signing\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "user": {
                                        "type": "string",
                                        "description": "\"user\" specifies the user associated with new git commit messages created by Updatecli\n\n\tcompatible:\n\t\t* scm"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "\"branch\" defines the git branch to work on.\n\n compatible:\n   * scm\n\n default:\n   main\n\n remark:\n   depending on which resource references the Stash scm, the behavior will be different.\n\n   If the scm is linked to a source or a condition (using scmid), the branch will be used to retrieve\n   file(s) from that branch.\n\n   If the scm is linked to target then Updatecli creates a new \"working branch\" based on the branch value.\n   The working branch created by Updatecli looks like \"updatecli_\u003cpipelineID\u003e\".\n   The working branch can be disabled using the \"workingBranch\" parameter set to false."
                                    },
                                    "workingbranchprefix": {
                                        "type": "string",
                                        "description": "WorkingBranchPrefix defines the prefix used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  updatecli\n\nremark:\n  A working branch is composed of three components:\n  1. WorkingBranchPrefix\n  2. Target Branch\n  3. PipelineID\n\n  If WorkingBranchPrefix is set to '', then\n  the working branch will look like \"\u003cbranch\u003e_\u003cpipelineID\u003e\"."
                                    },
                                    "workingbranchseparator": {
                                        "type": "string",
                                        "description": "WorkingBranchSeparator defines the separator used to create a working branch.\n\ncompatible:\n  * scm\n\ndefault:\n  \"_\""
                                    },
                                    "submodules": {
                                        "type": "boolean",
                                        "description": "\"submodules\" defines if Updatecli should checkout submodules.\n\n compatible:\n\t  * scm\n\n default: true"
                                    },
                                    "workingbranch": {
                                        "type": "boolean",
                                        "description": "\"workingBranch\" defines if Updatecli should use a temporary branch to work on.\n If set to `true`, Updatecli create a temporary branch to work on, based on the branch value.\n\n compatible:\n\t  * scm\n\n default: true"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "disabled": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object"
                    }
                ]
            },
            "type": "object",
            "description": "\"scms\" defines the list of repository configuration used to fetch content from.\n\nexamples:\n---\nscms:\n\tdefault:\n\t  kind: github\n\t  spec:\n\t    owner: \"updatecli\"\n\t    repository: \"updatecli\"\n\t    token: \"${{ env \"GITHUB_TOKEN\" }}\"\n\t    branch: \"main\"\n---"
        },
        "sources": {
            "additionalProperties": {
                "oneOf": [
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "aws/ami"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "accesskey": {
                                        "type": "string",
                                        "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate"
                                    },
                                    "secretkey": {
                                        "type": "string",
                                        "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate"
                                    },
                                    "filters": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name specifies a filter name."
                                                },
                                                "values": {
                                                    "type": "string",
                                                    "description": "Values specifies a filter value for a specific filter name."
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "Filter represents the updatecli configuration describing AMI filters."
                                        },
                                        "type": "array",
                                        "description": "Filters specifies a list of AMI filters"
                                    },
                                    "region": {
                                        "type": "string",
                                        "description": "Region specifies the AWS region to use when looking for AMI"
                                    },
                                    "endpoint": {
                                        "type": "string",
                                        "description": "Endpoint specifies the AWS endpoint to use when looking for AMI"
                                    },
                                    "dryrun": {
                                        "type": "boolean",
                                        "description": "Dryrun allows to Check whether you have the required permissions for the action."
                                    },
                                    "sortby": {
                                        "type": "string",
                                        "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec contains the updatecli configuration provided by users."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelmod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File specifies the path to the MODULE.bazel file\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * MODULE.bazel\n  * path/to/MODULE.bazel"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to target\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * rules_go\n  * gazelle\n  * protobuf"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "file",
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelmod\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelregistry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to query from the registry\n\ncompatible:\n  * source\n  * condition\n\nexample:\n  * rules_go\n  * rules_python\n  * gazelle"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL specifies the custom registry URL (defaults to Bazel Central Registry)\n\ncompatible:\n  * source\n  * condition\n\ndefault:\n  https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n\nexample:\n  * https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n  * https://mycompany.com/bazel-registry/modules/{module}/metadata.json\n\nremarks:\n  * The URL must contain {module} placeholder which will be replaced with the module name\n  * If not specified, defaults to the official Bazel Central Registry"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelregistry\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "cargopackage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "registry": {
                                        "properties": {
                                            "auth": {
                                                "properties": {
                                                    "token": {
                                                        "type": "string",
                                                        "description": "[A][S][C] Token specifies the cargo registry token to use for authentication."
                                                    },
                                                    "headerformat": {
                                                        "type": "string",
                                                        "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication."
                                            },
                                            "url": {
                                                "type": "string",
                                                "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication."
                                            },
                                            "rootdir": {
                                                "type": "string",
                                                "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index."
                                            },
                                            "scmid": {
                                                "type": "string",
                                                "description": "[A] SCMID specifies the cargo registry scmId to use as FS index."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Registry specifies the registry to use"
                                    },
                                    "package": {
                                        "type": "string",
                                        "description": "[S][C] Package specifies the name of the package"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "package"
                                ],
                                "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "csv"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the csv file"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv query"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv value, default to source output"
                                    },
                                    "comma": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv separator character, default \",\""
                                    },
                                    "comment": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv comment character, default \"#\""
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerdigest"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n\t* source\n\t* condition\n\ndefault: amd64"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\nexample: `updatecli/updatecli`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "digest": {
                                        "type": "string",
                                        "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\ncompatible:\n\t* condition\n\ndefault:\n\tWhen used from a condition, the default value is set to the linked source output."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "hidetag": {
                                        "type": "boolean",
                                        "description": "hideTag specifies if the tag should be hidden from the digest\n\ncompatible:\n\t* source\n\ndefault:\n\tfalse"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "image"
                                ],
                                "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerfile"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file specifies the dockerimage file path to use and is incompatible with Files\n\ndefault: \"\"\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   File is not compatible with Files. Only one of the two should be specified."
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File\n\ndefault: []\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   Files is not compatible with File. Only one of the two should be specified."
                                    },
                                    "instruction": {
                                        "description": "Instruction specifies a DockerImage instruction such as ENV\nInstruction can be specified as a simple string or as a map with keyword and matcher keys.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n default: empty\n\n example:\n ```yaml\n instruction:\n   keyword: \"FROM\"\n   matcher: \"alpine\"\n ```"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "Value specifies the value for a specified Dockerfile instruction.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\ndefault: source output"
                                    },
                                    "stage": {
                                        "type": "string",
                                        "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerimage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architectures": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n  * condition\n  * source"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n  * condition\n\ndefault: latest"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "tagfilter": {
                                        "type": "string",
                                        "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n  * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "`file` contains the file path\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * `file` is incompatible with `files`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "`files` contains the file path(s)\n\n  compatible:\n      * condition\n      * target\n\n  remarks:\n      * `files` is incompatible with `file`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "line": {
                                        "type": "integer",
                                        "description": "`line` contains the line of the file(s) to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "content": {
                                        "type": "string",
                                        "description": "`content` specifies the content to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "forcecreate": {
                                        "type": "boolean",
                                        "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n  compatible:\n      * target"
                                    },
                                    "matchpattern": {
                                        "type": "string",
                                        "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * For targets: Capture groups (parentheses) in the pattern automatically extract\n        the current value for changelog generation\n      * Without capture groups, changelogs show generic \"unknown\" version changes\n      * With capture groups, changelogs show actual version changes (e.g., \"1.24.5\" → \"1.25.1\")\n      * Example: `\"version\":\\s*\"([\\d\\.]+)\"` captures version numbers for changelogs\n      * Supports full Go regexp syntax"
                                    },
                                    "replacepattern": {
                                        "type": "string",
                                        "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n  If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n  When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n  The pattern syntax is:\n\n  ```\n      pattern:\n          { term }\n      term:\n          '*'         matches any sequence of non-Separator characters\n          '?'         matches any single non-Separator character\n          '[' [ '^' ] { character-range } ']'\n                      character class (must be non-empty)\n          c           matches character c (c != '*', '?', '\\\\', '[')\n          '\\\\' c      matches character c\n\n      character-range:\n          c           matches character c (c != '\\\\', '-', ']')\n          '\\\\' c      matches character c\n          lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n  ```"
                                    },
                                    "template": {
                                        "type": "string",
                                        "description": "`template` specifies the path to a Go template file to render with source values\n\n  compatible:\n      * target\n\n  remarks:\n      * When using template, the source value is passed as `.source` in the template context\n      * All Go template functions from sprig are available\n      * The template file is read and rendered at execution time\n      * `template` is mutually exclusive with `content`, `line`, `matchpattern`, and `replacepattern`\n\n  example:\n      template: \"path/to/template.tmpl\""
                                    },
                                    "templatedata": {
                                        "type": "object",
                                        "description": "`templateData` specifies additional data to pass to the template\n\n\tcompatible:\n\t    * target\n\n\tremarks:\n\t    * When using template, the data specified here is passed as additional fields in the template context\n\t    * All Go template functions from sprig are available\n\t    * The template file is read and rendered at execution time\n\t    * `templateData` is optional\n\n\texample:\n\t    templateData:\n\t        key1: \"value1\"\n\t        key2: \"value2\""
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitbranch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "branch specifies the branch name\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find branches that are not included in the fetched commits."
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] owner specifies the repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T] repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] title defines the Gitea release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] tag defines the Gitea release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Gitea tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "githubrelease"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "owner": {
                                        "type": "string",
                                        "description": "owner defines repository owner to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository defines the repository name to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token defines the GitHub personal access token used to authenticate with.\n\nmore information on https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the default github url in case of GitHub enterprise.\n\ndefault: https://github.com\n\ncompatible:\n * source\n * condition"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username defines the username used to authenticate with GitHub API.\n\ncompatible:\n * source\n * condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ndefault: latest\n\ncompatible:\n * source"
                                    },
                                    "typefilter": {
                                        "properties": {
                                            "draft": {
                                                "type": "boolean",
                                                "description": "\"Draft\" enable/disable GitHub draft release"
                                            },
                                            "prerelease": {
                                                "type": "boolean",
                                                "description": "\"PreRelease\" enable/disable GitHub PreRelease"
                                            },
                                            "release": {
                                                "type": "boolean",
                                                "description": "\"Release\" enable/disable GitHub release"
                                            },
                                            "latest": {
                                                "type": "boolean",
                                                "description": "\"Latest\" if set to true will only filter the release flag as latest."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "typeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule\n\ndefault:\n * draft: false\n * prerelease: false\n * release: true\n * latest: false\n\ncompatible:\n * source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag allows to check for a specific release tag, release tag hash, or release title depending on a the parameter key.\n\ncompatible:\n  * condition\n\ndefault: source input"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the GitHub release information we are looking for.\nIt accepts one of the following inputs:\n   * \"name\": returns the \"latest\" tag name\n   * \"hash\": returns the commit associated with the latest tag name\n   * \"title\": returns the latest release title\n\naccepted values:\n * taghash\n * tagname\n * title\n * hash (deprecated)\n * name (deprecated)\n\ndefault: 'tagname'\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "app": {
                                        "properties": {
                                            "clientid": {
                                                "type": "string",
                                                "description": "ClientID represents the GitHub App client ID"
                                            },
                                            "privatekey": {
                                                "type": "string",
                                                "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                            },
                                            "privatekeypath": {
                                                "type": "string",
                                                "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                            },
                                            "installationid": {
                                                "type": "string",
                                                "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                            },
                                            "expirationtime": {
                                                "type": "string",
                                                "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"app\" specifies the GitHub App credentials used to authenticate with GitHub API.\nIt is not compatible with the \"token\" and \"username\" fields.\nIt is recommended to use the GitHub App authentication method for better security and granular permissions.\nFor more information, please refer to the following documentation:"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T]Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] Title defines the GitLab release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] Tag defines the GitLab release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] Commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] Description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] Draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] Prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the GitLab tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gittag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "Path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "Tag defines the git tag to check for exact match.\n\ncompatible:\n  * condition\n\nWhen specified, the condition will check for an exact tag match\ninstead of using versionFilter pattern matching."
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "Message associated to the git tag\n\n compatible:\n   * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t  when using the ssh protocol, the user must have the right to clone the repository\n\t  based on its local ssh configuration\n\n   it's possible to specify git tags without cloning the repository by using the `lsremote` option,\n   in that case the URL is required and the tags will be retrieved from the remote repository directly without cloning it."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined.\n\ndefault: main"
                                    },
                                    "lsremote": {
                                        "type": "boolean"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find tags that are not included in the fetched commits."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Version defines a specific golang version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/gomod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module defines the module path\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "indirect": {
                                        "type": "boolean",
                                        "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Version Defines a specific golang version\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "replace": {
                                        "type": "boolean",
                                        "description": "Replace specifies if we manipulate a replaced dependency\n\ncompatible:\n  * source\n  * condition\n  * target"
                                    },
                                    "replaceversion": {
                                        "type": "string",
                                        "description": "ReplaceVersion specifies the specific Go module version to replace\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault: unset, which will match any version of the module being replaced.\n\nExample:\n For the following Go replace instruction:\n   moduleA v1.2.3 =\u003e moduleB v1.0.0\n - The 'module' field should be set to 'moduleA' (the module being replaced, left-hand side).\n - The value of ReplaceVersion should be 'v1.2.3', corresponding to the version of moduleA\n   (the module being replaced, left-hand side)."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/module"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "proxy": {
                                        "type": "string",
                                        "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable."
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "[S][C] Module specifies the name of the module"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "hcl"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "helmchart"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\""
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t  with such as \"stable/chart\""
                                    },
                                    "skippackaging": {
                                        "type": "boolean",
                                        "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionincrement": {
                                        "type": "string",
                                        "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693"
                                    },
                                    "appversion": {
                                        "type": "boolean",
                                        "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "http"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "[S][C] Specifies the URL of the HTTP request for this resource."
                                    },
                                    "returnresponseheader": {
                                        "type": "string",
                                        "description": "[S] Specifies the header to return as source value (instead of the body)."
                                    },
                                    "request": {
                                        "properties": {
                                            "verb": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request body. Required with POST, PUT, PATCH."
                                            },
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map."
                                            },
                                            "nofollowredirects": {
                                                "type": "boolean",
                                                "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Customizes the HTTP request to emit."
                                    },
                                    "responseasserts": {
                                        "properties": {
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[C] Specifies a set of assertions on the HTTP response headers."
                                            },
                                            "statuscode": {
                                                "type": "integer",
                                                "description": "[C] Specifies a custom assertion on the HTTP response status code."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "jenkins"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "release": {
                                        "type": "string",
                                        "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\""
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[s][c] Defines a specific release version (condition only)"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "json"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "engine": {
                                        "type": "string",
                                        "description": "default:\n  * \"dasel/v1\" is the default engine used to manipulate json files\n\naccepted values:\n  * \"dasel/v1\" for dasel v1 engine\n  * \"dasel/v2\" for dasel v2 engine\n  * \"dasel\" for the latest dasel engine which is currently dasel v2"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "remark:\n   * \"file\" and \"files\" are mutually exclusive\n   * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "remark:\n  * \"file\" and \"files\" are mutually exclusive\n  * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the Jsonpath key to manipulate.\n\ncompatible:\n * source\n\t* condition\n\t* target\n\nremark:\n\t* key is a simpler version of Jsonpath accepts keys.\n\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n * key accepts values based on the engine used\n\nexample:\n\t* key: $.name\n\t* key: name\n\t* file: https://nodejs.org/dist/index.json\n\t  key: .(lts!=false).version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value defines the Jsonpath key value to manipulate. Default to source output.\n\ncompatible:\n * condition\n\t* target\n\ndefault:\n\twhen used for a condition or a target, the default value is the output of the source."
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "query defines the Jsonpath query to manipulate. It accepts advanced Dasel v1 query\nthis parameter is now deprecated in Dasel v2 and replaced by the parameter \"key\".\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\nexample:\n\t* query: .name\n\t* query: \".[*].tag_name\"\n\nremark:\n\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"json\" defines the specification for manipulating \"json\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "maven"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "Deprecated, please specify the Maven url in the repository"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "Specifies the maven repository url + name"
                                    },
                                    "repositories": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central."
                                    },
                                    "groupid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact groupID"
                                    },
                                    "artifactid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact artifactID"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "npm"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Defines the specific npm package name"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Defines a specific package version"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)"
                                    },
                                    "registrytoken": {
                                        "type": "string",
                                        "description": "RegistryToken defines the token to use when connection to the registry"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "npmrcpath": {
                                        "type": "string",
                                        "description": "NpmrcPath defines the path to the .npmrc file"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "shell"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "command": {
                                        "type": "string"
                                    },
                                    "environments": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name defines the environment variable name"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value defines the environment variable value"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "name"
                                            ],
                                            "description": "Environment is a struct containing information for an environment variable such as its name and its value"
                                        },
                                        "type": "array",
                                        "description": "environments allows to pass environment variable(s) to the shell script.\n\n default:\n    If environments is unset then it depends on the operating system.\n      - Windows: [\"PATH\",\"\", \"PSModulePath\", \"PSModuleAnalysisCachePath\", \"\", \"PATHEXT\", \"\", \"TEMP\", \"\", \"HOME\", \"\", \"USERPROFILE\", \"\", \"PROFILE\"]\n      - Darwin/Linux: [\"PATH\", \"\", \"HOME\", \"\", \"USER\", \"\", \"LOGNAME\", \"\", \"SHELL\", \"\", \"LANG\", \"\", \"LC_ALL\"]\n\nremark:\n  For security reason, Updatecli doesn't pass the entire environment to the shell command but instead works\n  with an allow list of environment variables."
                                    },
                                    "changedif": {
                                        "oneOf": [
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "console/output"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {},
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "description": "Spec is an empty struct used as a placeholder for the jsonschema."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "exitcode"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "warning": {
                                                                "type": "integer",
                                                                "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified"
                                                            },
                                                            "success": {
                                                                "type": "integer",
                                                                "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified"
                                                            },
                                                            "failure": {
                                                                "type": "integer",
                                                                "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "warning",
                                                            "success",
                                                            "failure"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "file/checksum"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "files": {
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "type": "array",
                                                                "description": "Files specifies the list of file that Updatecli monitors to identify state change"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "files"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            }
                                        ],
                                        "description": "ChangedIf defines how to interpret shell command execution.\nWhat a success means, what an error means, and what a warning would mean in the context of Updatecli.\n\nPlease note that in the context of Updatecli,\n - a success means nothing changed\n - a warning means something changed\n - an error means something went wrong\n\nChangedif can be of kind \"exitcode\", \"console/output\", or \"file/checksum\"\n\n  \"console/output\" (default)\n    Check the output of the command to identify if Updatecli should report a success, a warning, or an error.\n    If a target returns anything to stdout, Updatecli interprets it as a something changed, otherwise it's a success.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n    ---\n\n  \"exitcode\":\n    Check the exit code of the command to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n          environments:\n            - name: 'GITHUB_TOKEN'\n            - name: 'PATH'\n          changedif:\n            kind: 'exitcode'\n            spec:\n              warning: 0\n              success: 1\n              failure: 2\n    ---\n\n  \"file/checksum\":\n    Check the checksum of file(s) to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        disablesourceinput: true\n        name: Example of a shell command with a checksum success criteria\n        kind: shell\n        spec:\n          command: |\n    \t  \t   yq -i '.a.b[0].c = \"cool\"' file.yaml\n          changedif:\n            kind: file/checksum\n            spec:\n              files:\n                - file.yaml\n    ---"
                                    },
                                    "shell": {
                                        "type": "string",
                                        "description": "Shell specifies which shell interpreter to use.\n\ndefault:\n  Depends on the operating system:\n    - Windows: \"powershell\"\n    - Darwin/Linux: \"/bin/sh\""
                                    },
                                    "workdir": {
                                        "type": "string",
                                        "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path.\n\ndefault: If a scmid is specified then the default"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "command"
                                ],
                                "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Bitbucket tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "temurin"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "releaseline": {
                                        "type": "string",
                                        "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\""
                                    },
                                    "releasetype": {
                                        "type": "string",
                                        "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)"
                                    },
                                    "featureversion": {
                                        "type": "integer",
                                        "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)"
                                    },
                                    "result": {
                                        "type": "string",
                                        "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)"
                                    },
                                    "imagetype": {
                                        "type": "string",
                                        "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\""
                                    },
                                    "operatingsystem": {
                                        "type": "string",
                                        "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\""
                                    },
                                    "specificversion": {
                                        "type": "string",
                                        "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)"
                                    },
                                    "project": {
                                        "type": "string",
                                        "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\""
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/lock"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "skipconstraints": {
                                        "type": "boolean",
                                        "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/provider"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/registry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider"
                                    },
                                    "hostname": {
                                        "type": "string",
                                        "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "namespace": {
                                        "type": "string",
                                        "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "targetsystem": {
                                        "type": "string",
                                        "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module."
                                    },
                                    "rawstring": {
                                        "type": "string",
                                        "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem."
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the toml file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toolversions"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the .tool-versions file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of .tool-versions file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "xml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\""
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"xml\" defines the specification for manipulating \"xml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "yaml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "documentindex": {
                                        "type": "integer",
                                        "description": "DocumentIndex defines the index of the document to interact with in a multi-document yaml file.\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault:\n  empty\n\n remark:\n  * when not set in the context of a source, the value will be retrieve from the first documents matching query.\n  * when not set in the context of a condition or a target, all documents will be evaluated by the query.\n  * When not set in the context of a target, all documents will be updated by the query.\n\nexample:\n  * documentindex: 0\n  * documentindex: 1"
                                    },
                                    "engine": {
                                        "type": "string",
                                        "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\nThere is no one good Golang library to manipulate yaml files.\nAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\nremark:\n * Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n * go-yaml, \"default\" and \"\" are equivalent"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the yaml file path to interact with.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * \"file\" and \"files\" are mutually exclusive\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of yaml files path to interact with.\n\ncompatible:\n * condition\n * target\n\nremark:\n * file and files are mutually exclusive\n * protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the yaml keypath.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * key is a simpler version of yamlpath accepts keys.\n\nexample using default engine:\n * key: $.name\n * key: $.agent.name\n * key: $.agents[0].name\n * key: $.agents[*].name\n * key: $.'agents.name'\n * key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\nremark:\n field path with key/value is not supported at the moment.\n some help would be useful on https://github.com/goccy/go-yaml/issues/290"
                                    },
                                    "keys": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"keys\" defines multiple yaml keypaths to update with the same value.\n\ncompatible:\n * target\n\nremark:\n * keys is mutually exclusive with key.\n * keys accepts the same syntax as key for each element.\n * all keys will be updated with the same value.\n * only available for target operations, not for source or condition.\n\nexample using default engine:\n * keys:\n   - $.image.tag\n   - $.sidecar.tag\n * keys:\n   - $.agents[0].version\n   - $.agents[1].version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yaml key.\n\ncompatible:\n * source\n * condition\n * target\n\ndefault:\n\tWhen used from a condition or a target, the default value is set to the associated source output."
                                    },
                                    "keyonly": {
                                        "type": "boolean",
                                        "description": "keyonly allows to check only if a key exist and do not return an error otherwise\n\ncompatible:\n\t* condition\n\ndefault:\n\tfalse"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "searchpattern defines if the MatchPattern should be applied on the file(s) path\n\nIf set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\nWhen looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\nThe pattern syntax is:\n\n```\n   pattern:\n       { term }\n   term:\n       '*'         matches any sequence of non-Separator characters\n       '?'         matches any single non-Separator character\n       '[' [ '^' ] { character-range } ']'\n                   character class (must be non-empty)\n       c           matches character c (c != '*', '?', '\\\\', '[')\n       '\\\\' c      matches character c\n\n   character-range:\n       c           matches character c (c != '\\\\', '-', ']')\n       '\\\\' c      matches character c\n       lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n```"
                                    },
                                    "comment": {
                                        "type": "string",
                                        "description": "comment defines a comment to add after the value.\n\ndefault: empty\n\ncompatible:\n * target\n\nremarks:\n * Please note that the comment is added if the value is modified by Updatecli"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"yaml\" defines the specification for manipulating \"yaml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    }
                ]
            },
            "type": "object",
            "description": "\"sources\" defines the list of Updatecli source definition.\n\nexample:\n---\nsources:\n\t# Source to retrieve the latest version of nodejs\n  nodejs:\n\t   name: Get latest nodejs version\n\t   kind: json\n\t   spec:\n\t     file: https://nodejs.org/dist/index.json\n\t     key: .(lts!=false).version\n---"
        },
        "conditions": {
            "additionalProperties": {
                "oneOf": [
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "aws/ami"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "accesskey": {
                                        "type": "string",
                                        "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate"
                                    },
                                    "secretkey": {
                                        "type": "string",
                                        "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate"
                                    },
                                    "filters": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name specifies a filter name."
                                                },
                                                "values": {
                                                    "type": "string",
                                                    "description": "Values specifies a filter value for a specific filter name."
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "Filter represents the updatecli configuration describing AMI filters."
                                        },
                                        "type": "array",
                                        "description": "Filters specifies a list of AMI filters"
                                    },
                                    "region": {
                                        "type": "string",
                                        "description": "Region specifies the AWS region to use when looking for AMI"
                                    },
                                    "endpoint": {
                                        "type": "string",
                                        "description": "Endpoint specifies the AWS endpoint to use when looking for AMI"
                                    },
                                    "dryrun": {
                                        "type": "boolean",
                                        "description": "Dryrun allows to Check whether you have the required permissions for the action."
                                    },
                                    "sortby": {
                                        "type": "string",
                                        "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec contains the updatecli configuration provided by users."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelmod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File specifies the path to the MODULE.bazel file\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * MODULE.bazel\n  * path/to/MODULE.bazel"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to target\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * rules_go\n  * gazelle\n  * protobuf"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "file",
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelmod\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelregistry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to query from the registry\n\ncompatible:\n  * source\n  * condition\n\nexample:\n  * rules_go\n  * rules_python\n  * gazelle"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL specifies the custom registry URL (defaults to Bazel Central Registry)\n\ncompatible:\n  * source\n  * condition\n\ndefault:\n  https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n\nexample:\n  * https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n  * https://mycompany.com/bazel-registry/modules/{module}/metadata.json\n\nremarks:\n  * The URL must contain {module} placeholder which will be replaced with the module name\n  * If not specified, defaults to the official Bazel Central Registry"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelregistry\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "cargopackage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "registry": {
                                        "properties": {
                                            "auth": {
                                                "properties": {
                                                    "token": {
                                                        "type": "string",
                                                        "description": "[A][S][C] Token specifies the cargo registry token to use for authentication."
                                                    },
                                                    "headerformat": {
                                                        "type": "string",
                                                        "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication."
                                            },
                                            "url": {
                                                "type": "string",
                                                "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication."
                                            },
                                            "rootdir": {
                                                "type": "string",
                                                "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index."
                                            },
                                            "scmid": {
                                                "type": "string",
                                                "description": "[A] SCMID specifies the cargo registry scmId to use as FS index."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Registry specifies the registry to use"
                                    },
                                    "package": {
                                        "type": "string",
                                        "description": "[S][C] Package specifies the name of the package"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "package"
                                ],
                                "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "csv"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the csv file"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv query"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv value, default to source output"
                                    },
                                    "comma": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv separator character, default \",\""
                                    },
                                    "comment": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv comment character, default \"#\""
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerdigest"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n\t* source\n\t* condition\n\ndefault: amd64"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\nexample: `updatecli/updatecli`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "digest": {
                                        "type": "string",
                                        "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\ncompatible:\n\t* condition\n\ndefault:\n\tWhen used from a condition, the default value is set to the linked source output."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "hidetag": {
                                        "type": "boolean",
                                        "description": "hideTag specifies if the tag should be hidden from the digest\n\ncompatible:\n\t* source\n\ndefault:\n\tfalse"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "image"
                                ],
                                "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerfile"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file specifies the dockerimage file path to use and is incompatible with Files\n\ndefault: \"\"\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   File is not compatible with Files. Only one of the two should be specified."
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File\n\ndefault: []\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   Files is not compatible with File. Only one of the two should be specified."
                                    },
                                    "instruction": {
                                        "description": "Instruction specifies a DockerImage instruction such as ENV\nInstruction can be specified as a simple string or as a map with keyword and matcher keys.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n default: empty\n\n example:\n ```yaml\n instruction:\n   keyword: \"FROM\"\n   matcher: \"alpine\"\n ```"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "Value specifies the value for a specified Dockerfile instruction.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\ndefault: source output"
                                    },
                                    "stage": {
                                        "type": "string",
                                        "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerimage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architectures": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n  * condition\n  * source"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n  * condition\n\ndefault: latest"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "tagfilter": {
                                        "type": "string",
                                        "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n  * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "`file` contains the file path\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * `file` is incompatible with `files`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "`files` contains the file path(s)\n\n  compatible:\n      * condition\n      * target\n\n  remarks:\n      * `files` is incompatible with `file`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "line": {
                                        "type": "integer",
                                        "description": "`line` contains the line of the file(s) to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "content": {
                                        "type": "string",
                                        "description": "`content` specifies the content to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "forcecreate": {
                                        "type": "boolean",
                                        "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n  compatible:\n      * target"
                                    },
                                    "matchpattern": {
                                        "type": "string",
                                        "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * For targets: Capture groups (parentheses) in the pattern automatically extract\n        the current value for changelog generation\n      * Without capture groups, changelogs show generic \"unknown\" version changes\n      * With capture groups, changelogs show actual version changes (e.g., \"1.24.5\" → \"1.25.1\")\n      * Example: `\"version\":\\s*\"([\\d\\.]+)\"` captures version numbers for changelogs\n      * Supports full Go regexp syntax"
                                    },
                                    "replacepattern": {
                                        "type": "string",
                                        "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n  If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n  When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n  The pattern syntax is:\n\n  ```\n      pattern:\n          { term }\n      term:\n          '*'         matches any sequence of non-Separator characters\n          '?'         matches any single non-Separator character\n          '[' [ '^' ] { character-range } ']'\n                      character class (must be non-empty)\n          c           matches character c (c != '*', '?', '\\\\', '[')\n          '\\\\' c      matches character c\n\n      character-range:\n          c           matches character c (c != '\\\\', '-', ']')\n          '\\\\' c      matches character c\n          lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n  ```"
                                    },
                                    "template": {
                                        "type": "string",
                                        "description": "`template` specifies the path to a Go template file to render with source values\n\n  compatible:\n      * target\n\n  remarks:\n      * When using template, the source value is passed as `.source` in the template context\n      * All Go template functions from sprig are available\n      * The template file is read and rendered at execution time\n      * `template` is mutually exclusive with `content`, `line`, `matchpattern`, and `replacepattern`\n\n  example:\n      template: \"path/to/template.tmpl\""
                                    },
                                    "templatedata": {
                                        "type": "object",
                                        "description": "`templateData` specifies additional data to pass to the template\n\n\tcompatible:\n\t    * target\n\n\tremarks:\n\t    * When using template, the data specified here is passed as additional fields in the template context\n\t    * All Go template functions from sprig are available\n\t    * The template file is read and rendered at execution time\n\t    * `templateData` is optional\n\n\texample:\n\t    templateData:\n\t        key1: \"value1\"\n\t        key2: \"value2\""
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitbranch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "branch specifies the branch name\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find branches that are not included in the fetched commits."
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] owner specifies the repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T] repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] title defines the Gitea release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] tag defines the Gitea release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Gitea tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "githubrelease"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "owner": {
                                        "type": "string",
                                        "description": "owner defines repository owner to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository defines the repository name to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token defines the GitHub personal access token used to authenticate with.\n\nmore information on https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the default github url in case of GitHub enterprise.\n\ndefault: https://github.com\n\ncompatible:\n * source\n * condition"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username defines the username used to authenticate with GitHub API.\n\ncompatible:\n * source\n * condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ndefault: latest\n\ncompatible:\n * source"
                                    },
                                    "typefilter": {
                                        "properties": {
                                            "draft": {
                                                "type": "boolean",
                                                "description": "\"Draft\" enable/disable GitHub draft release"
                                            },
                                            "prerelease": {
                                                "type": "boolean",
                                                "description": "\"PreRelease\" enable/disable GitHub PreRelease"
                                            },
                                            "release": {
                                                "type": "boolean",
                                                "description": "\"Release\" enable/disable GitHub release"
                                            },
                                            "latest": {
                                                "type": "boolean",
                                                "description": "\"Latest\" if set to true will only filter the release flag as latest."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "typeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule\n\ndefault:\n * draft: false\n * prerelease: false\n * release: true\n * latest: false\n\ncompatible:\n * source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag allows to check for a specific release tag, release tag hash, or release title depending on a the parameter key.\n\ncompatible:\n  * condition\n\ndefault: source input"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the GitHub release information we are looking for.\nIt accepts one of the following inputs:\n   * \"name\": returns the \"latest\" tag name\n   * \"hash\": returns the commit associated with the latest tag name\n   * \"title\": returns the latest release title\n\naccepted values:\n * taghash\n * tagname\n * title\n * hash (deprecated)\n * name (deprecated)\n\ndefault: 'tagname'\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "app": {
                                        "properties": {
                                            "clientid": {
                                                "type": "string",
                                                "description": "ClientID represents the GitHub App client ID"
                                            },
                                            "privatekey": {
                                                "type": "string",
                                                "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                            },
                                            "privatekeypath": {
                                                "type": "string",
                                                "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                            },
                                            "installationid": {
                                                "type": "string",
                                                "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                            },
                                            "expirationtime": {
                                                "type": "string",
                                                "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"app\" specifies the GitHub App credentials used to authenticate with GitHub API.\nIt is not compatible with the \"token\" and \"username\" fields.\nIt is recommended to use the GitHub App authentication method for better security and granular permissions.\nFor more information, please refer to the following documentation:"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T]Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] Title defines the GitLab release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] Tag defines the GitLab release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] Commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] Description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] Draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] Prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the GitLab tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gittag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "Path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "Tag defines the git tag to check for exact match.\n\ncompatible:\n  * condition\n\nWhen specified, the condition will check for an exact tag match\ninstead of using versionFilter pattern matching."
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "Message associated to the git tag\n\n compatible:\n   * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t  when using the ssh protocol, the user must have the right to clone the repository\n\t  based on its local ssh configuration\n\n   it's possible to specify git tags without cloning the repository by using the `lsremote` option,\n   in that case the URL is required and the tags will be retrieved from the remote repository directly without cloning it."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined.\n\ndefault: main"
                                    },
                                    "lsremote": {
                                        "type": "boolean"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find tags that are not included in the fetched commits."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Version defines a specific golang version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/gomod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module defines the module path\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "indirect": {
                                        "type": "boolean",
                                        "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Version Defines a specific golang version\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "replace": {
                                        "type": "boolean",
                                        "description": "Replace specifies if we manipulate a replaced dependency\n\ncompatible:\n  * source\n  * condition\n  * target"
                                    },
                                    "replaceversion": {
                                        "type": "string",
                                        "description": "ReplaceVersion specifies the specific Go module version to replace\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault: unset, which will match any version of the module being replaced.\n\nExample:\n For the following Go replace instruction:\n   moduleA v1.2.3 =\u003e moduleB v1.0.0\n - The 'module' field should be set to 'moduleA' (the module being replaced, left-hand side).\n - The value of ReplaceVersion should be 'v1.2.3', corresponding to the version of moduleA\n   (the module being replaced, left-hand side)."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/module"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "proxy": {
                                        "type": "string",
                                        "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable."
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "[S][C] Module specifies the name of the module"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "hcl"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "helmchart"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\""
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t  with such as \"stable/chart\""
                                    },
                                    "skippackaging": {
                                        "type": "boolean",
                                        "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionincrement": {
                                        "type": "string",
                                        "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693"
                                    },
                                    "appversion": {
                                        "type": "boolean",
                                        "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "http"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "[S][C] Specifies the URL of the HTTP request for this resource."
                                    },
                                    "returnresponseheader": {
                                        "type": "string",
                                        "description": "[S] Specifies the header to return as source value (instead of the body)."
                                    },
                                    "request": {
                                        "properties": {
                                            "verb": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request body. Required with POST, PUT, PATCH."
                                            },
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map."
                                            },
                                            "nofollowredirects": {
                                                "type": "boolean",
                                                "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Customizes the HTTP request to emit."
                                    },
                                    "responseasserts": {
                                        "properties": {
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[C] Specifies a set of assertions on the HTTP response headers."
                                            },
                                            "statuscode": {
                                                "type": "integer",
                                                "description": "[C] Specifies a custom assertion on the HTTP response status code."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "jenkins"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "release": {
                                        "type": "string",
                                        "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\""
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[s][c] Defines a specific release version (condition only)"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "json"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "engine": {
                                        "type": "string",
                                        "description": "default:\n  * \"dasel/v1\" is the default engine used to manipulate json files\n\naccepted values:\n  * \"dasel/v1\" for dasel v1 engine\n  * \"dasel/v2\" for dasel v2 engine\n  * \"dasel\" for the latest dasel engine which is currently dasel v2"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "remark:\n   * \"file\" and \"files\" are mutually exclusive\n   * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "remark:\n  * \"file\" and \"files\" are mutually exclusive\n  * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the Jsonpath key to manipulate.\n\ncompatible:\n * source\n\t* condition\n\t* target\n\nremark:\n\t* key is a simpler version of Jsonpath accepts keys.\n\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n * key accepts values based on the engine used\n\nexample:\n\t* key: $.name\n\t* key: name\n\t* file: https://nodejs.org/dist/index.json\n\t  key: .(lts!=false).version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value defines the Jsonpath key value to manipulate. Default to source output.\n\ncompatible:\n * condition\n\t* target\n\ndefault:\n\twhen used for a condition or a target, the default value is the output of the source."
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "query defines the Jsonpath query to manipulate. It accepts advanced Dasel v1 query\nthis parameter is now deprecated in Dasel v2 and replaced by the parameter \"key\".\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\nexample:\n\t* query: .name\n\t* query: \".[*].tag_name\"\n\nremark:\n\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"json\" defines the specification for manipulating \"json\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "maven"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "Deprecated, please specify the Maven url in the repository"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "Specifies the maven repository url + name"
                                    },
                                    "repositories": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central."
                                    },
                                    "groupid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact groupID"
                                    },
                                    "artifactid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact artifactID"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "npm"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Defines the specific npm package name"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Defines a specific package version"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)"
                                    },
                                    "registrytoken": {
                                        "type": "string",
                                        "description": "RegistryToken defines the token to use when connection to the registry"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "npmrcpath": {
                                        "type": "string",
                                        "description": "NpmrcPath defines the path to the .npmrc file"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "shell"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "command": {
                                        "type": "string"
                                    },
                                    "environments": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name defines the environment variable name"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value defines the environment variable value"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "name"
                                            ],
                                            "description": "Environment is a struct containing information for an environment variable such as its name and its value"
                                        },
                                        "type": "array",
                                        "description": "environments allows to pass environment variable(s) to the shell script.\n\n default:\n    If environments is unset then it depends on the operating system.\n      - Windows: [\"PATH\",\"\", \"PSModulePath\", \"PSModuleAnalysisCachePath\", \"\", \"PATHEXT\", \"\", \"TEMP\", \"\", \"HOME\", \"\", \"USERPROFILE\", \"\", \"PROFILE\"]\n      - Darwin/Linux: [\"PATH\", \"\", \"HOME\", \"\", \"USER\", \"\", \"LOGNAME\", \"\", \"SHELL\", \"\", \"LANG\", \"\", \"LC_ALL\"]\n\nremark:\n  For security reason, Updatecli doesn't pass the entire environment to the shell command but instead works\n  with an allow list of environment variables."
                                    },
                                    "changedif": {
                                        "oneOf": [
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "console/output"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {},
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "description": "Spec is an empty struct used as a placeholder for the jsonschema."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "exitcode"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "warning": {
                                                                "type": "integer",
                                                                "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified"
                                                            },
                                                            "success": {
                                                                "type": "integer",
                                                                "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified"
                                                            },
                                                            "failure": {
                                                                "type": "integer",
                                                                "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "warning",
                                                            "success",
                                                            "failure"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "file/checksum"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "files": {
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "type": "array",
                                                                "description": "Files specifies the list of file that Updatecli monitors to identify state change"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "files"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            }
                                        ],
                                        "description": "ChangedIf defines how to interpret shell command execution.\nWhat a success means, what an error means, and what a warning would mean in the context of Updatecli.\n\nPlease note that in the context of Updatecli,\n - a success means nothing changed\n - a warning means something changed\n - an error means something went wrong\n\nChangedif can be of kind \"exitcode\", \"console/output\", or \"file/checksum\"\n\n  \"console/output\" (default)\n    Check the output of the command to identify if Updatecli should report a success, a warning, or an error.\n    If a target returns anything to stdout, Updatecli interprets it as a something changed, otherwise it's a success.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n    ---\n\n  \"exitcode\":\n    Check the exit code of the command to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n          environments:\n            - name: 'GITHUB_TOKEN'\n            - name: 'PATH'\n          changedif:\n            kind: 'exitcode'\n            spec:\n              warning: 0\n              success: 1\n              failure: 2\n    ---\n\n  \"file/checksum\":\n    Check the checksum of file(s) to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        disablesourceinput: true\n        name: Example of a shell command with a checksum success criteria\n        kind: shell\n        spec:\n          command: |\n    \t  \t   yq -i '.a.b[0].c = \"cool\"' file.yaml\n          changedif:\n            kind: file/checksum\n            spec:\n              files:\n                - file.yaml\n    ---"
                                    },
                                    "shell": {
                                        "type": "string",
                                        "description": "Shell specifies which shell interpreter to use.\n\ndefault:\n  Depends on the operating system:\n    - Windows: \"powershell\"\n    - Darwin/Linux: \"/bin/sh\""
                                    },
                                    "workdir": {
                                        "type": "string",
                                        "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path.\n\ndefault: If a scmid is specified then the default"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "command"
                                ],
                                "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Bitbucket tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "temurin"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "releaseline": {
                                        "type": "string",
                                        "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\""
                                    },
                                    "releasetype": {
                                        "type": "string",
                                        "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)"
                                    },
                                    "featureversion": {
                                        "type": "integer",
                                        "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)"
                                    },
                                    "result": {
                                        "type": "string",
                                        "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)"
                                    },
                                    "imagetype": {
                                        "type": "string",
                                        "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\""
                                    },
                                    "operatingsystem": {
                                        "type": "string",
                                        "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\""
                                    },
                                    "specificversion": {
                                        "type": "string",
                                        "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)"
                                    },
                                    "project": {
                                        "type": "string",
                                        "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\""
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/lock"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "skipconstraints": {
                                        "type": "boolean",
                                        "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/provider"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/registry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider"
                                    },
                                    "hostname": {
                                        "type": "string",
                                        "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "namespace": {
                                        "type": "string",
                                        "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "targetsystem": {
                                        "type": "string",
                                        "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module."
                                    },
                                    "rawstring": {
                                        "type": "string",
                                        "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem."
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the toml file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toolversions"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the .tool-versions file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of .tool-versions file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "xml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\""
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"xml\" defines the specification for manipulating \"xml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "yaml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "documentindex": {
                                        "type": "integer",
                                        "description": "DocumentIndex defines the index of the document to interact with in a multi-document yaml file.\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault:\n  empty\n\n remark:\n  * when not set in the context of a source, the value will be retrieve from the first documents matching query.\n  * when not set in the context of a condition or a target, all documents will be evaluated by the query.\n  * When not set in the context of a target, all documents will be updated by the query.\n\nexample:\n  * documentindex: 0\n  * documentindex: 1"
                                    },
                                    "engine": {
                                        "type": "string",
                                        "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\nThere is no one good Golang library to manipulate yaml files.\nAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\nremark:\n * Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n * go-yaml, \"default\" and \"\" are equivalent"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the yaml file path to interact with.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * \"file\" and \"files\" are mutually exclusive\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of yaml files path to interact with.\n\ncompatible:\n * condition\n * target\n\nremark:\n * file and files are mutually exclusive\n * protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the yaml keypath.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * key is a simpler version of yamlpath accepts keys.\n\nexample using default engine:\n * key: $.name\n * key: $.agent.name\n * key: $.agents[0].name\n * key: $.agents[*].name\n * key: $.'agents.name'\n * key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\nremark:\n field path with key/value is not supported at the moment.\n some help would be useful on https://github.com/goccy/go-yaml/issues/290"
                                    },
                                    "keys": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"keys\" defines multiple yaml keypaths to update with the same value.\n\ncompatible:\n * target\n\nremark:\n * keys is mutually exclusive with key.\n * keys accepts the same syntax as key for each element.\n * all keys will be updated with the same value.\n * only available for target operations, not for source or condition.\n\nexample using default engine:\n * keys:\n   - $.image.tag\n   - $.sidecar.tag\n * keys:\n   - $.agents[0].version\n   - $.agents[1].version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yaml key.\n\ncompatible:\n * source\n * condition\n * target\n\ndefault:\n\tWhen used from a condition or a target, the default value is set to the associated source output."
                                    },
                                    "keyonly": {
                                        "type": "boolean",
                                        "description": "keyonly allows to check only if a key exist and do not return an error otherwise\n\ncompatible:\n\t* condition\n\ndefault:\n\tfalse"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "searchpattern defines if the MatchPattern should be applied on the file(s) path\n\nIf set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\nWhen looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\nThe pattern syntax is:\n\n```\n   pattern:\n       { term }\n   term:\n       '*'         matches any sequence of non-Separator characters\n       '?'         matches any single non-Separator character\n       '[' [ '^' ] { character-range } ']'\n                   character class (must be non-empty)\n       c           matches character c (c != '*', '?', '\\\\', '[')\n       '\\\\' c      matches character c\n\n   character-range:\n       c           matches character c (c != '\\\\', '-', ']')\n       '\\\\' c      matches character c\n       lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n```"
                                    },
                                    "comment": {
                                        "type": "string",
                                        "description": "comment defines a comment to add after the value.\n\ndefault: empty\n\ncompatible:\n * target\n\nremarks:\n * Please note that the comment is added if the value is modified by Updatecli"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"yaml\" defines the specification for manipulating \"yaml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "failwhen": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    }
                ]
            },
            "type": "object",
            "description": "\"conditions\" defines the list of Updatecli condition definition.\n\nexample:\n---\nconditions:\n  container:\n    name: Check if Updatecli container image for tag \"v0.63.0\" exists\n    kind: dockerimage\n    spec:\n      image: \"updatecli/updatecli:latest\"\n      tag: \"v0.63.0\"\n---"
        },
        "targets": {
            "additionalProperties": {
                "oneOf": [
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "aws/ami"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "accesskey": {
                                        "type": "string",
                                        "description": "accesskey specifies the aws access key which combined with `secretkey`, is one of the way to authenticate"
                                    },
                                    "secretkey": {
                                        "type": "string",
                                        "description": "secretkey specifies the aws secret key which combined with `accesskey`, is one of the way to authenticate"
                                    },
                                    "filters": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name specifies a filter name."
                                                },
                                                "values": {
                                                    "type": "string",
                                                    "description": "Values specifies a filter value for a specific filter name."
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "description": "Filter represents the updatecli configuration describing AMI filters."
                                        },
                                        "type": "array",
                                        "description": "Filters specifies a list of AMI filters"
                                    },
                                    "region": {
                                        "type": "string",
                                        "description": "Region specifies the AWS region to use when looking for AMI"
                                    },
                                    "endpoint": {
                                        "type": "string",
                                        "description": "Endpoint specifies the AWS endpoint to use when looking for AMI"
                                    },
                                    "dryrun": {
                                        "type": "boolean",
                                        "description": "Dryrun allows to Check whether you have the required permissions for the action."
                                    },
                                    "sortby": {
                                        "type": "string",
                                        "description": "Sortby specifies the order of AMI-ID that will be used to retrieve the last element such as `creationdateasc`"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec contains the updatecli configuration provided by users."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelmod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File specifies the path to the MODULE.bazel file\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * MODULE.bazel\n  * path/to/MODULE.bazel"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to target\n\ncompatible:\n  * source\n  * condition\n  * target\n\nexample:\n  * rules_go\n  * gazelle\n  * protobuf"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "file",
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelmod\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "bazelregistry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "module": {
                                        "type": "string",
                                        "description": "Module specifies the Bazel module name to query from the registry\n\ncompatible:\n  * source\n  * condition\n\nexample:\n  * rules_go\n  * rules_python\n  * gazelle"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL specifies the custom registry URL (defaults to Bazel Central Registry)\n\ncompatible:\n  * source\n  * condition\n\ndefault:\n  https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n\nexample:\n  * https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/modules/{module}/metadata.json\n  * https://mycompany.com/bazel-registry/modules/{module}/metadata.json\n\nremarks:\n  * The URL must contain {module} placeholder which will be replaced with the module name\n  * If not specified, defaults to the official Bazel Central Registry"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"bazelregistry\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "cargopackage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "registry": {
                                        "properties": {
                                            "auth": {
                                                "properties": {
                                                    "token": {
                                                        "type": "string",
                                                        "description": "[A][S][C] Token specifies the cargo registry token to use for authentication."
                                                    },
                                                    "headerformat": {
                                                        "type": "string",
                                                        "description": "[A][S][C] HeaderFormat specifies the cargo registry header format to use for authentication (defaults to `Bearer`)."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "[A][S][C] Auth specifies the cargo registry auth to use for authentication."
                                            },
                                            "url": {
                                                "type": "string",
                                                "description": "[A][S][C] URL specifies the cargo registry URL to use for authentication."
                                            },
                                            "rootdir": {
                                                "type": "string",
                                                "description": "[A][S][C] RootDir specifies the cargo registry root directory to use as FS index."
                                            },
                                            "scmid": {
                                                "type": "string",
                                                "description": "[A] SCMID specifies the cargo registry scmId to use as FS index."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Registry specifies the registry to use"
                                    },
                                    "package": {
                                        "type": "string",
                                        "description": "[S][C] Package specifies the name of the package"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "package"
                                ],
                                "description": "Spec defines a specification for a \"cargopackage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "csv"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the csv file"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv query"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the csv value, default to source output"
                                    },
                                    "comma": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv separator character, default \",\""
                                    },
                                    "comment": {
                                        "type": "integer",
                                        "description": "[s][c][t] Comma specifies the csv comment character, default \"#\""
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s]VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerdigest"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n\t* source\n\t* condition\n\ndefault: amd64"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\nexample: `updatecli/updatecli`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n\t* source\n\t* condition"
                                    },
                                    "digest": {
                                        "type": "string",
                                        "description": "digest specifies the container image digest such as `sha256:ce782db15ab5491c6c6178da8431b3db66988ccd11512034946a9667846952a6`\n\ncompatible:\n\t* condition\n\ndefault:\n\tWhen used from a condition, the default value is set to the linked source output."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "hidetag": {
                                        "type": "boolean",
                                        "description": "hideTag specifies if the tag should be hidden from the digest\n\ncompatible:\n\t* source\n\ndefault:\n\tfalse"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "image"
                                ],
                                "description": "Spec defines a specification for a \"dockerdigest\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerfile"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file specifies the dockerimage file path to use and is incompatible with Files\n\ndefault: \"\"\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   File is not compatible with Files. Only one of the two should be specified."
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Files specifies the dockerimage file path(s) to use and is incompatible with File\n\ndefault: []\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n remark:\n   Files is not compatible with File. Only one of the two should be specified."
                                    },
                                    "instruction": {
                                        "description": "Instruction specifies a DockerImage instruction such as ENV\nInstruction can be specified as a simple string or as a map with keyword and matcher keys.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\n default: empty\n\n example:\n ```yaml\n instruction:\n   keyword: \"FROM\"\n   matcher: \"alpine\"\n ```"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "Value specifies the value for a specified Dockerfile instruction.\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\ndefault: source output"
                                    },
                                    "stage": {
                                        "type": "string",
                                        "description": "Stage can be used to further refined the scope\nFor Sources:\n- If not defined, the last stage will be considered\nFor Condition and Targets:\n- If not defined, all stages will be considered"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerfile\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "dockerimage"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "architectures": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "architectures specifies a list of architectures to check container images for (conditions only)\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "architecture specifies the container image architecture such as `amd64`\n\ncompatible:\n  * condition\n  * source\n\nexample: windows/amd64, linux/arm64, linux/arm64/v8\n\ndefault: linux/amd64\n\nremark:\n  If an architecture is undefined, Updatecli retrieves the digest of the image index\n  which can be used regardless of the architecture.\n  But if an architecture is specified then Updatecli retrieves a specific image digest.\n  More information on https://github.com/updatecli/updatecli/issues/1603"
                                    },
                                    "image": {
                                        "type": "string",
                                        "description": "image specifies the container image such as `updatecli/updatecli`\n\ncompatible:\n  * condition\n  * source"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag specifies the container image tag such as `latest`\n\ncompatible:\n  * condition\n\ndefault: latest"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ncompatible:\n  * source\n\ndefault:\n  kind: latest"
                                    },
                                    "tagfilter": {
                                        "type": "string",
                                        "description": "tagfilter allows to restrict tags retrieved from a remote registry by using a regular expression.\n\ncompatible:\n  * source\n\nexample: ^v\\d*(\\.\\d*){2}-alpine$\n\ndefault: none"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"dockerimage\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "`file` contains the file path\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * `file` is incompatible with `files`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "`files` contains the file path(s)\n\n  compatible:\n      * condition\n      * target\n\n  remarks:\n      * `files` is incompatible with `file`\n      * feel free to look at searchpattern attribute to search for files matching a pattern"
                                    },
                                    "line": {
                                        "type": "integer",
                                        "description": "`line` contains the line of the file(s) to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "content": {
                                        "type": "string",
                                        "description": "`content` specifies the content to manipulate\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "forcecreate": {
                                        "type": "boolean",
                                        "description": "`forcecreate` defines if nonexistent file(s) should be created\n\n  compatible:\n      * target"
                                    },
                                    "matchpattern": {
                                        "type": "string",
                                        "description": "`matchpattern` specifies the regexp pattern to match on the file(s)\n\n  compatible:\n      * source\n      * condition\n      * target\n\n  remarks:\n      * For targets: Capture groups (parentheses) in the pattern automatically extract\n        the current value for changelog generation\n      * Without capture groups, changelogs show generic \"unknown\" version changes\n      * With capture groups, changelogs show actual version changes (e.g., \"1.24.5\" → \"1.25.1\")\n      * Example: `\"version\":\\s*\"([\\d\\.]+)\"` captures version numbers for changelogs\n      * Supports full Go regexp syntax"
                                    },
                                    "replacepattern": {
                                        "type": "string",
                                        "description": "`replacepattern` specifies the regexp replace pattern to apply on the file(s) content\n\n  compatible:\n      * source\n      * condition\n      * target"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "`searchpattern` defines if the MatchPattern should be applied on the file(s) path\n\n  If set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\n  When looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\n  The pattern syntax is:\n\n  ```\n      pattern:\n          { term }\n      term:\n          '*'         matches any sequence of non-Separator characters\n          '?'         matches any single non-Separator character\n          '[' [ '^' ] { character-range } ']'\n                      character class (must be non-empty)\n          c           matches character c (c != '*', '?', '\\\\', '[')\n          '\\\\' c      matches character c\n\n      character-range:\n          c           matches character c (c != '\\\\', '-', ']')\n          '\\\\' c      matches character c\n          lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n  ```"
                                    },
                                    "template": {
                                        "type": "string",
                                        "description": "`template` specifies the path to a Go template file to render with source values\n\n  compatible:\n      * target\n\n  remarks:\n      * When using template, the source value is passed as `.source` in the template context\n      * All Go template functions from sprig are available\n      * The template file is read and rendered at execution time\n      * `template` is mutually exclusive with `content`, `line`, `matchpattern`, and `replacepattern`\n\n  example:\n      template: \"path/to/template.tmpl\""
                                    },
                                    "templatedata": {
                                        "type": "object",
                                        "description": "`templateData` specifies additional data to pass to the template\n\n\tcompatible:\n\t    * target\n\n\tremarks:\n\t    * When using template, the data specified here is passed as additional fields in the template context\n\t    * All Go template functions from sprig are available\n\t    * The template file is read and rendered at execution time\n\t    * `templateData` is optional\n\n\texample:\n\t    templateData:\n\t        key1: \"value1\"\n\t        key2: \"value2\""
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"file\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitbranch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "branch specifies the branch name\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find branches that are not included in the fetched commits."
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t\twhen using the ssh protocol, the user must have the right to clone the repository\n\t\tbased on its local ssh configuration"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gitbranch\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] owner specifies the repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T] repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] versionfilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] title defines the Gitea release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] tag defines the Gitea release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitea/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the Gitea url to interact with"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with Gitea API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Gitea API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITEA_TOKEN\"}}` to retrieve the token from the environment variable `GITHUB_TOKEN`\n\t  or `{{ .gitea.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Gitea tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Gitea release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "githubrelease"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "owner": {
                                        "type": "string",
                                        "description": "owner defines repository owner to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "repository defines the repository name to interact with.\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token defines the GitHub personal access token used to authenticate with.\n\nmore information on https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens\n\nrequired: true\n\ncompatible:\n * source\n * condition"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the default github url in case of GitHub enterprise.\n\ndefault: https://github.com\n\ncompatible:\n * source\n * condition"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username defines the username used to authenticate with GitHub API.\n\ncompatible:\n * source\n * condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\ndefault: latest\n\ncompatible:\n * source"
                                    },
                                    "typefilter": {
                                        "properties": {
                                            "draft": {
                                                "type": "boolean",
                                                "description": "\"Draft\" enable/disable GitHub draft release"
                                            },
                                            "prerelease": {
                                                "type": "boolean",
                                                "description": "\"PreRelease\" enable/disable GitHub PreRelease"
                                            },
                                            "release": {
                                                "type": "boolean",
                                                "description": "\"Release\" enable/disable GitHub release"
                                            },
                                            "latest": {
                                                "type": "boolean",
                                                "description": "\"Latest\" if set to true will only filter the release flag as latest."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "typeFilter specifies the GitHub Release type to retrieve before applying the versionfilter rule\n\ndefault:\n * draft: false\n * prerelease: false\n * release: true\n * latest: false\n\ncompatible:\n * source\n\t* condition"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "tag allows to check for a specific release tag, release tag hash, or release title depending on a the parameter key.\n\ncompatible:\n  * condition\n\ndefault: source input"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the GitHub release information we are looking for.\nIt accepts one of the following inputs:\n   * \"name\": returns the \"latest\" tag name\n   * \"hash\": returns the commit associated with the latest tag name\n   * \"title\": returns the latest release title\n\naccepted values:\n * taghash\n * tagname\n * title\n * hash (deprecated)\n * name (deprecated)\n\ndefault: 'tagname'\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "app": {
                                        "properties": {
                                            "clientid": {
                                                "type": "string",
                                                "description": "ClientID represents the GitHub App client ID"
                                            },
                                            "privatekey": {
                                                "type": "string",
                                                "description": "PrivateKey represents a PEM encoded private key\nIt is recommended to use PrivateKeyPath instead of PrivateKey\nto avoid putting sensitive information in the configuration file\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence"
                                            },
                                            "privatekeypath": {
                                                "type": "string",
                                                "description": "PrivateKeyPath represents the path to a PEM encoded private key\nIf both PrivateKey and PrivateKeyPath are set, PrivateKey takes precedence\nIt is recommended to use an environment variable to set the PrivateKeyPath value\ne.g. PrivateKeyPath: {{ requiredEnv \"GITHUB_APP_PRIVATE_KEY_PATH\" }}\nto avoid putting sensitive information in the configuration file"
                                            },
                                            "installationid": {
                                                "type": "string",
                                                "description": "InstallationID represents the GitHub App installation ID\nIt is the same ID that you can find in the GitHub endpoint:\nhttps://github.com/settings/installation/\u003cID\u003e"
                                            },
                                            "expirationtime": {
                                                "type": "string",
                                                "description": "Expiration represents the token expiration time in seconds\nThe token is used during the entire execution of updatecli\nand should be valid for the entire duration of the run\nThe minimum value is 600 seconds (10 minutes)\n\nDefault: 3600 (1 hour)"
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"app\" specifies the GitHub App credentials used to authenticate with GitHub API.\nIt is not compatible with the \"token\" and \"username\" fields.\nIt is recommended to use the GitHub App authentication method for better security and granular permissions.\nFor more information, please refer to the following documentation:"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/release"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C][T] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C][T]Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "[T] Title defines the GitLab release title."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[C][T] Tag defines the GitLab release tag."
                                    },
                                    "commitish": {
                                        "type": "string",
                                        "description": "[T] Commitish defines the commit-ish such as `main`"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "[T] Description defines if the new release description"
                                    },
                                    "draft": {
                                        "type": "boolean",
                                        "description": "[T] Draft defines if the release is a draft release"
                                    },
                                    "prerelease": {
                                        "type": "boolean",
                                        "description": "[T] Prerelease defines if the release is a pre-release release"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gitlab/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" defines the GitLab url to interact with\n\n default:\n    \"gitlab.com\""
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" defines the username used to authenticate with GitLab"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" defines the credential used to authenticate with GitLab\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"GITLAB_TOKEN\"}}` to retrieve the token from the environment variable `GITLAB_TOKEN`\n\t  or `{{ .gitlab.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the GitLab tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with GitLab release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "gittag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "path": {
                                        "type": "string",
                                        "description": "Path contains the git repository path"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n compatible:\n   * source\n   * condition\n   * target"
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "Tag defines the git tag to check for exact match.\n\ncompatible:\n  * condition\n\nWhen specified, the condition will check for an exact tag match\ninstead of using versionFilter pattern matching."
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "Message associated to the git tag\n\n compatible:\n   * target"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" of the tag object to retrieve.\n\n Accepted values: ['name','hash'].\n\n Default: 'name'\n Compatible:\n   * source"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the git url to use for fetching Git Tags.\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target\n\n\texample:\n\t  * git@github.com:updatecli/updatecli.git\n\t  * https://github.com/updatecli/updatecli.git\n\n\tremarks:\n\t  when using the ssh protocol, the user must have the right to clone the repository\n\t  based on its local ssh configuration\n\n   it's possible to specify git tags without cloning the repository by using the `lsremote` option,\n   in that case the URL is required and the tags will be retrieved from the remote repository directly without cloning it."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username when using the HTTP protocol\n\n\tcompatible\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the password when using the HTTP protocol\n\n\tcompatible:\n\t  * source\n\t  * condition\n\t  * target"
                                    },
                                    "sourcebranch": {
                                        "type": "string",
                                        "description": "\"sourcebranch\" defines the branch name used as a source to create the new Git branch.\n\ncompatible:\n * target\n\nremark:\n * sourcebranch is required when the scmid is not defined.\n\ndefault: main"
                                    },
                                    "lsremote": {
                                        "type": "boolean"
                                    },
                                    "depth": {
                                        "type": "integer",
                                        "description": "Depth is used to limit the number of commits fetched from the git repository.\n\ncompatible:\n * source\n * condition\n * target\n\n default: 0 (no limit)\n\nremark:\n * Updatecli won't be able to find tags that are not included in the fetched commits."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url"
                                ],
                                "description": "Spec defines a specification for a \"gittag\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Version defines a specific golang version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/gomod"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "File defines the go.mod file, default to \"go.mod\"\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "Module defines the module path\n\ncompatible:\n  * source\n  * condition\n\nremark:\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "indirect": {
                                        "type": "boolean",
                                        "description": "Indirect specifies if we manipulate an indirect dependency\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Version Defines a specific golang version\n\ncompatible:\n  * source\n  * condition"
                                    },
                                    "replace": {
                                        "type": "boolean",
                                        "description": "Replace specifies if we manipulate a replaced dependency\n\ncompatible:\n  * source\n  * condition\n  * target"
                                    },
                                    "replaceversion": {
                                        "type": "string",
                                        "description": "ReplaceVersion specifies the specific Go module version to replace\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault: unset, which will match any version of the module being replaced.\n\nExample:\n For the following Go replace instruction:\n   moduleA v1.2.3 =\u003e moduleB v1.0.0\n - The 'module' field should be set to 'moduleA' (the module being replaced, left-hand side).\n - The value of ReplaceVersion should be 'v1.2.3', corresponding to the version of moduleA\n   (the module being replaced, left-hand side)."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"Golang\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "golang/module"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "proxy": {
                                        "type": "string",
                                        "description": "Proxy may have the schemes https, http. file is not supported at this time. If a URL has no scheme, https is assumed\n[S][C] Proxy allows to override GO proxy similarly to GOPROXY environment variable."
                                    },
                                    "module": {
                                        "type": "string",
                                        "description": "[S][C] Module specifies the name of the module"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[C] Defines a specific package version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "module"
                                ],
                                "description": "Spec defines a specification for a \"gomodule\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "hcl"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "helmchart"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "file defines the Helm Chart file to update.\n\t\tthe path must be relative to chart root directory\n\t\tthe chart name is defined by the parameter \"name\"\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"values.yaml\""
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the yamlpath query used for retrieving value from a YAML document\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\texample:\n\t\t\t* key: $.image.tag\n\t\t\t* key: $.images[0].tag\n\n\t\tremark:\n\t\t\t* key is a simpler version of yamlpath accepts keys."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "name defines the Chart name path like 'stable/chart'.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* name: stable/chart\n\n\t\tremark:\n\t\t\t* when used with a scm, the name must be the relative path from the scm repository root directory\n\t\t\t  with such as \"stable/chart\""
                                    },
                                    "skippackaging": {
                                        "type": "boolean",
                                        "description": "skippackaging defines if a Chart should be packaged or not.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault: false"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "url defines the Chart location URL.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\texample:\n\t\t\t* index.yaml\n\t\t\t* file://./index.yaml\n\t\t\t* https://github.com/updatecli/charts.git\n\t\t\t* oci://ghcr.io/olblak/charts/"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yamlpath query.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "version defines the Chart version. It is used by condition to check if a version exists on the registry.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionincrement": {
                                        "type": "string",
                                        "description": "versionIncrement defines if a Chart changes, triggers, or not, a Chart version update, accepted values is a comma separated list of \"none,major,minor,patch,auto\".\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tdefault set to \"minor\"\n\n\t\tremark:\n\t\t\twhen multiple pipelines update the same chart, the versionIncrement will be applied multiple times.\n\t\t\tmore information on https://github.com/updatecli/updatecli/issues/693"
                                    },
                                    "appversion": {
                                        "type": "boolean",
                                        "description": "AppVersion defines if a Chart changes, triggers, or not, a Chart AppVersion update.\n\t\tThe value is retrieved from the source input.\n\n\t\tcompatible:\n\t\t\t* target\n\n\t\tdefault\n\t\t\tfalse"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "versionfilter provides parameters to specify version pattern and its type like 'regex', 'semver', or just 'latest'.\n\n\t\tcompatible:\n\t\t\t* source\n\n\t\tdefault:\n\t\t\tsemver\n\n\t\tremark:\n\t\t\t* Helm chart uses semver by default."
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "username specifies the container registry username to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "password specifies the container registry password to use for authentication. Not compatible with token\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with token"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "token specifies the container registry token to use for authentication.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tby default credentials are fetch from the local environment such as `~/.docker/config.json`.\n\n\t\tremark:\n\t\t\tNot compatible with username/password"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an \"helmchart\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "http"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "[S][C] Specifies the URL of the HTTP request for this resource."
                                    },
                                    "returnresponseheader": {
                                        "type": "string",
                                        "description": "[S] Specifies the header to return as source value (instead of the body)."
                                    },
                                    "request": {
                                        "properties": {
                                            "verb": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request verb. Defaults to \"GET\"."
                                            },
                                            "body": {
                                                "type": "string",
                                                "description": "[S][C] Specifies a custom HTTP request body. Required with POST, PUT, PATCH."
                                            },
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[S][C] Specifies custom HTTP request headers. Defaults to an empty map."
                                            },
                                            "nofollowredirects": {
                                                "type": "boolean",
                                                "description": "[S][C] Specifies whether or not to follow redirects. Default to false (e.g. follow HTTP redirections) unless spec.returnresponseheader is set to true (source only)."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] Customizes the HTTP request to emit."
                                    },
                                    "responseasserts": {
                                        "properties": {
                                            "headers": {
                                                "additionalProperties": {
                                                    "type": "string"
                                                },
                                                "type": "object",
                                                "description": "[C] Specifies a set of assertions on the HTTP response headers."
                                            },
                                            "statuscode": {
                                                "type": "integer",
                                                "description": "[C] Specifies a custom assertion on the HTTP response status code."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[C] Specifies a set of custom assertions on the HTTP response for the condition."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"http\" resource parsed from an updatecli manifest file."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "jenkins"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "release": {
                                        "type": "string",
                                        "description": "[s][c] Defines the release name. It accepts \"stable\" or \"weekly\""
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "[s][c] Defines a specific release version (condition only)"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"jenkins\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "json"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "engine": {
                                        "type": "string",
                                        "description": "default:\n  * \"dasel/v1\" is the default engine used to manipulate json files\n\naccepted values:\n  * \"dasel/v1\" for dasel v1 engine\n  * \"dasel/v2\" for dasel v2 engine\n  * \"dasel\" for the latest dasel engine which is currently dasel v2"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "remark:\n   * \"file\" and \"files\" are mutually exclusive\n   * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "remark:\n  * \"file\" and \"files\" are mutually exclusive\n  * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "key defines the Jsonpath key to manipulate.\n\ncompatible:\n * source\n\t* condition\n\t* target\n\nremark:\n\t* key is a simpler version of Jsonpath accepts keys.\n\t* key accepts Dasel query, more information on https://github.com/tomwright/dasel\n * key accepts values based on the engine used\n\nexample:\n\t* key: $.name\n\t* key: name\n\t* file: https://nodejs.org/dist/index.json\n\t  key: .(lts!=false).version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value defines the Jsonpath key value to manipulate. Default to source output.\n\ncompatible:\n * condition\n\t* target\n\ndefault:\n\twhen used for a condition or a target, the default value is the output of the source."
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "query defines the Jsonpath query to manipulate. It accepts advanced Dasel v1 query\nthis parameter is now deprecated in Dasel v2 and replaced by the parameter \"key\".\n\ncompatible:\n\t* source\n\t* condition\n\t* target\n\nexample:\n\t* query: .name\n\t* query: \".[*].tag_name\"\n\nremark:\n\t* query accepts Dasel query, more information on https://github.com/tomwright/dasel"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"json\" defines the specification for manipulating \"json\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "maven"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "Deprecated, please specify the Maven url in the repository"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "Specifies the maven repository url + name"
                                    },
                                    "repositories": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Repositories specifies a list of Maven repository where to look for version. Order matter, version is retrieve from the first repository with the last one being Maven Central."
                                    },
                                    "groupid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact groupID"
                                    },
                                    "artifactid": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact artifactID"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Specifies the maven artifact version"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for a \"maven\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "npm"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Defines the specific npm package name"
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "Defines a specific package version"
                                    },
                                    "url": {
                                        "type": "string",
                                        "description": "URL defines the registry url (defaults to `https://registry.npmjs.org/`)"
                                    },
                                    "registrytoken": {
                                        "type": "string",
                                        "description": "RegistryToken defines the token to use when connection to the registry"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "npmrcpath": {
                                        "type": "string",
                                        "description": "NpmrcPath defines the path to the .npmrc file"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "Spec defines a specification for an Npm package parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "shell"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "command": {
                                        "type": "string"
                                    },
                                    "environments": {
                                        "items": {
                                            "properties": {
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name defines the environment variable name"
                                                },
                                                "value": {
                                                    "type": "string",
                                                    "description": "Value defines the environment variable value"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "name"
                                            ],
                                            "description": "Environment is a struct containing information for an environment variable such as its name and its value"
                                        },
                                        "type": "array",
                                        "description": "environments allows to pass environment variable(s) to the shell script.\n\n default:\n    If environments is unset then it depends on the operating system.\n      - Windows: [\"PATH\",\"\", \"PSModulePath\", \"PSModuleAnalysisCachePath\", \"\", \"PATHEXT\", \"\", \"TEMP\", \"\", \"HOME\", \"\", \"USERPROFILE\", \"\", \"PROFILE\"]\n      - Darwin/Linux: [\"PATH\", \"\", \"HOME\", \"\", \"USER\", \"\", \"LOGNAME\", \"\", \"SHELL\", \"\", \"LANG\", \"\", \"LC_ALL\"]\n\nremark:\n  For security reason, Updatecli doesn't pass the entire environment to the shell command but instead works\n  with an allow list of environment variables."
                                    },
                                    "changedif": {
                                        "oneOf": [
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "console/output"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {},
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "description": "Spec is an empty struct used as a placeholder for the jsonschema."
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "exitcode"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "warning": {
                                                                "type": "integer",
                                                                "description": "Warning defines the command exit code used by Updatecli to identify a change need. Default to 2 if no exitcode have been specified"
                                                            },
                                                            "success": {
                                                                "type": "integer",
                                                                "description": "Success defines the command exit code used by Updatecli to identify no changes are needed. Default to 0 if no exitcode have been specified"
                                                            },
                                                            "failure": {
                                                                "type": "integer",
                                                                "description": "Failure defines the command exit code used by Updatecli to identify that something went wrong. Default to 1 if no exitcode have been specified"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "warning",
                                                            "success",
                                                            "failure"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            },
                                            {
                                                "$schema": "http://json-schema.org/draft-04/schema",
                                                "properties": {
                                                    "kind": {
                                                        "enum": [
                                                            "file/checksum"
                                                        ]
                                                    },
                                                    "spec": {
                                                        "$schema": "http://json-schema.org/draft-04/schema",
                                                        "properties": {
                                                            "files": {
                                                                "items": {
                                                                    "type": "string"
                                                                },
                                                                "type": "array",
                                                                "description": "Files specifies the list of file that Updatecli monitors to identify state change"
                                                            }
                                                        },
                                                        "additionalProperties": false,
                                                        "type": "object",
                                                        "required": [
                                                            "files"
                                                        ]
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object"
                                            }
                                        ],
                                        "description": "ChangedIf defines how to interpret shell command execution.\nWhat a success means, what an error means, and what a warning would mean in the context of Updatecli.\n\nPlease note that in the context of Updatecli,\n - a success means nothing changed\n - a warning means something changed\n - an error means something went wrong\n\nChangedif can be of kind \"exitcode\", \"console/output\", or \"file/checksum\"\n\n  \"console/output\" (default)\n    Check the output of the command to identify if Updatecli should report a success, a warning, or an error.\n    If a target returns anything to stdout, Updatecli interprets it as a something changed, otherwise it's a success.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n    ---\n\n  \"exitcode\":\n    Check the exit code of the command to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        name: 'doc: synchronize release note'\n        kind: 'shell'\n        disablesourceinput: true\n        spec:\n          command: 'releasepost --dry-run=\"$DRY_RUN\" --config {{ .config }} --clean'\n          environments:\n            - name: 'GITHUB_TOKEN'\n            - name: 'PATH'\n          changedif:\n            kind: 'exitcode'\n            spec:\n              warning: 0\n              success: 1\n              failure: 2\n    ---\n\n  \"file/checksum\":\n    Check the checksum of file(s) to identify if Updatecli should report a success, a warning, or an error.\n\n    example:\n\n    ---\n    targets:\n      default:\n        disablesourceinput: true\n        name: Example of a shell command with a checksum success criteria\n        kind: shell\n        spec:\n          command: |\n    \t  \t   yq -i '.a.b[0].c = \"cool\"' file.yaml\n          changedif:\n            kind: file/checksum\n            spec:\n              files:\n                - file.yaml\n    ---"
                                    },
                                    "shell": {
                                        "type": "string",
                                        "description": "Shell specifies which shell interpreter to use.\n\ndefault:\n  Depends on the operating system:\n    - Windows: \"powershell\"\n    - Darwin/Linux: \"/bin/sh\""
                                    },
                                    "workdir": {
                                        "type": "string",
                                        "description": "workdir specifies the working directory path from where to execute the command. It defaults to the current context path (scm or current shell). Updatecli join the current path and the one specified in parameter if the parameter one contains a relative path.\n\ndefault: If a scmid is specified then the default"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "command"
                                ],
                                "description": "Spec defines a specification for a \"shell\" resource parsed from an updatecli manifest file"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/branch"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "branch": {
                                        "type": "string",
                                        "description": "[C] Branch specifies the branch name"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "stash/tag"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "url": {
                                        "type": "string",
                                        "description": "\"url\" specifies the default stash url in case of Bitbucket Server"
                                    },
                                    "username": {
                                        "type": "string",
                                        "description": "\"username\" specifies the username used to authenticate with Bitbucket Server API"
                                    },
                                    "token": {
                                        "type": "string",
                                        "description": "\"token\" specifies the credential used to authenticate with Bitbucket Server API\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "\"password\" specifies the credential used to authenticate with Bitbucket Server API, it must be combined with \"username\"\n\n remark:\n   A token is a sensitive information, it's recommended to not set this value directly in the configuration file\n   but to use an environment variable or a SOPS file.\n\n   The value can be set to `{{ requiredEnv \"BITBUCKET_TOKEN\"}}` to retrieve the token from the environment variable `BITBUCKET_TOKEN`\n\t  or `{{ .bitbucket.token }}` to retrieve the token from a SOPS file.\n\n\t  For more information, about a SOPS file, please refer to the following documentation:\n   https://github.com/getsops/sops"
                                    },
                                    "owner": {
                                        "type": "string",
                                        "description": "[S][C] Owner specifies repository owner"
                                    },
                                    "repository": {
                                        "type": "string",
                                        "description": "[S][C] Repository specifies the name of a repository for a specific owner"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[S][C] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "tag": {
                                        "type": "string",
                                        "description": "[S] Tag defines the Bitbucket tag ."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "required": [
                                    "url",
                                    "owner",
                                    "repository"
                                ],
                                "description": "Spec defines settings used to interact with Bitbucket Server release"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "temurin"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "releaseline": {
                                        "type": "string",
                                        "description": "ReleaseLine specifies the line of Temurin release to retrieve.\n\ndefault: \"lts\"\n\nAllowed values:\n* \"lts\"\n* \"feature\""
                                    },
                                    "releasetype": {
                                        "type": "string",
                                        "description": "ReleaseType specifies the type of Temurin release to retrieve.\n\ndefault: \"ga\"\n\nAllowed values:\n* \"ga\" (General Availability)\n* \"ea\" (Early Availability, e.g. nightly builds)"
                                    },
                                    "featureversion": {
                                        "type": "integer",
                                        "description": "FeatureVersion specifies the Major Java version to filter the Temurin release to retrieve.\n\ndefault: undefined\n\nAllowed values: integer number (8, 11, 17, 21, etc.)"
                                    },
                                    "result": {
                                        "type": "string",
                                        "description": "Result specifies the type of value returned by the retrieved Temurin release.\n\ndefault: \"version\"\n\nAllowed values:\n* \"version\" (Version Name, e.g. the Temurin SCM release name)\n* \"installer_url\" (HTTP URL to the binary release/installer)\n* \"checksum_url\" (HTTP URL to the checksum file)\n* \"signature_url\" (HTTP URL to the signature file)"
                                    },
                                    "architecture": {
                                        "type": "string",
                                        "description": "Architecture specifies the CPU architecture (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"x64\"\n\nAllowed values:\n* \"x64\" (Intel/AMD 64 Bits)\n* \"x86\" (Intel/AMD 32 Bits)\n* \"ppc64\" (PowerPC 64 Bits)\n* \"ppc64le\" (PowerPC Little Endian 64 Bits)\n* \"s390x\" (IBM Z)\n* \"aarch64\" (ARM 64 Bits)\n* \"arm\" (ARM 32 Bits)\n* \"sparcv9\" (Sparc 64 Bits)\n* \"riscv64\" (RiscV 64 Bits)"
                                    },
                                    "imagetype": {
                                        "type": "string",
                                        "description": "ImageType specifies the type of artifact to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\"\n* \"jre\"\n* \"testimage\"\n* \"debugimage\"\n* \"staticlibs\"\n* \"source\n* \"sbom\""
                                    },
                                    "operatingsystem": {
                                        "type": "string",
                                        "description": "OperatingSystem specifies the Operating System (as defined by the Temurin API - https://api.adoptium.net/q/swagger-ui/#/Types)\nto filter the Temurin release to retrieve.\n\ndefault: \"linux\"\n\nAllowed values:\n* \"linux\"\n* \"windows\"\n* \"mac\"\n* \"solaris\"\n* \"aix\"\n* \"alpine-linux\""
                                    },
                                    "specificversion": {
                                        "type": "string",
                                        "description": "SpecificVersion specifies the exact Temurin version to filter the Temurin release to retrieve.\nIgnores FeatureVersion when used.\n\ndefault: undefined\n\nAllowed values: string (can be a semantic version, a JDK version or a Temurin release name)"
                                    },
                                    "project": {
                                        "type": "string",
                                        "description": "Project specifies the project to filter the Temurin release to retrieve.\n\ndefault: \"jdk\"\n\nAllowed values:\n* \"jdk\" (default)\n* \"valhalla\"\n* \"metropolis\"\n* \"jfr\"\n* \"shenandoah\""
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "Platforms is only valid within conditions. It specifies a collection of platforms as a filter for Temurin releases.\nEach platform must be a combination of an Operating System and a CPU architecture separated by the slash (`/`) character.\n\ndefault: empty list (e.g. no filtering per platform).\n\nAllowed values: Any combination of Operating System and Architecture as defined by the Temurin API (https://api.adoptium.net/q/swagger-ui/#/Types):\n* `linux/x64`\n* `linux/aarch64`\n* `linux/s390x`\n* `alpine-linux/x64`\n* `windows/x64`\n..."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/file"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the hcl file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of hcl files path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a source only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the hcl attribute path.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: resource.aws_instance.app_server.ami\n\t\t\t* path: resource.helm_release.prometheus.version\n\t\t\t* path: plugin.aws.version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a hcl path.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"hcl\" defines the specification for manipulating \"hcl\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/lock"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the terraform lock file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of terraform lock files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update, supports with or without registry url.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "platforms": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"platforms\" is the target platforms to request package checksums for.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    },
                                    "skipconstraints": {
                                        "type": "boolean",
                                        "description": "\"skipconstraints\" will control whether the constraint in lock file is updated\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tNOTE: That turning this off can break the lockfile if version value source does not follow the constraints"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/lock\" defines the specification for manipulating .terraform-lock.hcl files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/provider"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the file path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* \"file\" and \"files\" are mutually exclusive\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in path for condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of files path to interact with.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* file and files are mutually exclusive\n\t\t\t* when using as a condition only one file is supported\n\t\t\t* protocols \"https://\", \"http://\", and \"file://\" are supported in file path for condition"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a terraform provider.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\tWhen used from a condition or a target, the default value is set to linked source output."
                                    },
                                    "provider": {
                                        "type": "string",
                                        "description": "\"provider\" is the terraform provider you wish to update.\n\n\t\tcompatible:\n\t\t\t* condition\n\t\t\t* target"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"terraform/provider\" defines the specification for manipulating providers in terraform files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "terraform/registry"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "type": {
                                        "type": "string",
                                        "description": "\"type\" defines the type registry request to look up.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tSupported values: module, provider"
                                    },
                                    "hostname": {
                                        "type": "string",
                                        "description": "\"hostname\" the hostname of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Optional\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "namespace": {
                                        "type": "string",
                                        "description": "\"namespace\" the namespace of the provider or module\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "\"name\" the name of the provider or module.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required unless using rawstring\n\t\t\t* Not allowed with rawstring.\n\t\t\t* Applicable for module and provider."
                                    },
                                    "targetsystem": {
                                        "type": "string",
                                        "description": "\"targetsystem\" the target system for the module in registry\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tremark:\n\t\t\t* Required for type module unless using rawstring\n\t\t\t* Not allowed with rawstring\n\t\t\t* Applicable for module."
                                    },
                                    "rawstring": {
                                        "type": "string",
                                        "description": "\"rawstring\" provider reference to registry in single string.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\n\t\tExamples:\n\t\t\t* hashicorp/kubernetes\n\t\t\t* registry.terraform.io/hashicorp/kubernetes\n\t\t\t* terraform-aws-modules/vpc/aws\n\t\t\t* app.terraform.io/terraform-aws-modules/vpc/aws\n\n\t\tremark:\n\t\t\t* Applicable for module and provider.\n\t\t\t* Not allowed with hostname, namespace, name, and targetsystem."
                                    },
                                    "version": {
                                        "type": "string",
                                        "description": "\"version\" defines a specific version to be used during condition check.\n\n\t\tcompatible:\n\t\t\t* condition"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "\"versionfilter\" provides parameters to specify version pattern and its type like regex, semver, or just latest.\n\n\t\tcompatible:\n\t\t\t* source"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the toml file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of Json file to manipulate"
                                    },
                                    "query": {
                                        "type": "string",
                                        "description": "[s][c][t] Query allows to used advanced query. Override the parameter key"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a toml file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "versionfilter": {
                                        "properties": {
                                            "kind": {
                                                "type": "string",
                                                "description": "specifies the version kind such as semver, regex, or latest"
                                            },
                                            "pattern": {
                                                "type": "string",
                                                "description": "specifies the version pattern according the version kind\nfor semver, it is a semver constraint\nfor regex, it is a regex pattern\nfor time, it is a date format"
                                            },
                                            "strict": {
                                                "type": "boolean",
                                                "description": "strict enforce strict versioning rule.\nOnly used for semantic versioning at this time"
                                            },
                                            "regex": {
                                                "type": "string",
                                                "description": "specifies the regex pattern, used for regex/semver and regex/time.\nOutput of the first capture group will be used."
                                            },
                                            "replaceall": {
                                                "properties": {
                                                    "pattern": {
                                                        "type": "string",
                                                        "description": "Pattern specifies the regex pattern to match for replacement"
                                                    },
                                                    "replacement": {
                                                        "type": "string",
                                                        "description": "Replacement specifies the replacement string (supports $1, $2, etc. for captured groups)"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "description": "replaceAll applies a regex replacement to version strings before filtering.\nThis is useful for transforming versions (e.g., curl-8_15_0 to curl-8.15.0) before regex extraction."
                                            }
                                        },
                                        "additionalProperties": false,
                                        "type": "object",
                                        "description": "[s] VersionFilter provides parameters to specify version pattern and its type like regex, semver, or just latest."
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "toolversions"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "[s][c][t] File specifies the .tool-versions file to manipulate"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "[c][t] Files specifies a list of .tool-versions file to manipulate"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "[s][c][t] Key specifies the query to retrieve an information from a .tool-versions file"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "[s][c][t] Value specifies the value for a specific key. Default to source output"
                                    },
                                    "createmissingkey": {
                                        "type": "boolean",
                                        "description": "[t] CreateMissingKey allows non-existing keys. If the key does not exist, the key is created if AllowsMissingKey\n\t  is true, otherwise an error is raised (the default).\n\t  Only supported if Key is used"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object"
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "xml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" define the xml file path to interact with.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tremark:\n\t\t\t* scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "path": {
                                        "type": "string",
                                        "description": "\"path\" defines the xpath query used for retrieving value from a XML document\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\texample:\n\t\t\t* path: \"/project/parent/version\"\n\t\t\t* path: \"//breakfast_menu/food[0]/name\"\n\t\t\t* path: \"//book[@category='WEB']/title\""
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "\"value\" is the value associated with a xpath query.\n\n\t\tcompatible:\n\t\t\t* source\n\t\t\t* condition\n\t\t\t* target\n\n\t\tdefault:\n\t\t\twhen used from a condition or a target, the default value is set to linked source output"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"xml\" defines the specification for manipulating \"xml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    },
                    {
                        "$schema": "http://json-schema.org/draft-04/schema",
                        "properties": {
                            "dependson": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array",
                                "description": "\"dependson\" allows to specify the order of execution of resources.\nIt accepts a list of rules like \"(resourceType#)resourceId(:booleanOperator)\".\n\nThe resourceType is optional and can be one of \"condition\", \"source\" or \"target\"\nBy default the resourceType is the current resource type\n\nThe resourceId is the name of the resource to depend on\n\nThe booleanOperator is optional and can be \"AND\" or \"OR\"\n\nexamples:\n   dependson:\n     * condition#myCondition:and\n     * source#mySource\n\nremarks:\n * The parameters \"sourceid\" and \"conditionsids\" affect the order of resource execution.\n * To avoid circular dependencies, the depended resource may need to remove any conditionids or set \"disablesourceinput to true\"."
                            },
                            "name": {
                                "type": "string",
                                "description": "name specifies the resource name"
                            },
                            "kind": {
                                "enum": [
                                    "yaml"
                                ]
                            },
                            "transformers": {
                                "items": {
                                    "properties": {
                                        "addprefix": {
                                            "type": "string",
                                            "description": "AddPrefix adds a prefix to the transformer input value"
                                        },
                                        "addsuffix": {
                                            "type": "string",
                                            "description": "AddSuffix adds a suffix to the transformer input value"
                                        },
                                        "trimprefix": {
                                            "type": "string",
                                            "description": "TrimPrefix removes a prefix to the transformer input value"
                                        },
                                        "trimsuffix": {
                                            "type": "string",
                                            "description": "TrimSuffix removes the suffix from the transformer input value"
                                        },
                                        "replacers": {
                                            "items": {
                                                "properties": {
                                                    "from": {
                                                        "type": "string",
                                                        "description": "From defines the source value which need to be replaced"
                                                    },
                                                    "to": {
                                                        "type": "string",
                                                        "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                    }
                                                },
                                                "additionalProperties": false,
                                                "type": "object",
                                                "required": [
                                                    "from",
                                                    "to"
                                                ],
                                                "description": "Replacer is struct used to feed strings.Replacer"
                                            },
                                            "type": "array",
                                            "description": "Replacers specifies a list of replacer instruction"
                                        },
                                        "replacer": {
                                            "properties": {
                                                "from": {
                                                    "type": "string",
                                                    "description": "From defines the source value which need to be replaced"
                                                },
                                                "to": {
                                                    "type": "string",
                                                    "description": "To defines the \"to what\" a \"from\" value needs to be replaced"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "from",
                                                "to"
                                            ],
                                            "description": "Replacer specifies what value needs to be changed and how"
                                        },
                                        "find": {
                                            "type": "string",
                                            "description": "Find searches for a specific value if it exists and return false if it doesn't"
                                        },
                                        "findsubmatch": {
                                            "properties": {
                                                "pattern": {
                                                    "type": "string",
                                                    "description": "Pattern defines regular expression to use for retrieving a submatch"
                                                },
                                                "captureindex": {
                                                    "type": "integer",
                                                    "description": "CaptureIndex defines which substring occurrence to retrieve. Note also that a value of `0` for `captureIndex` returns all submatches, and individual submatch indexes start at `1`."
                                                },
                                                "capturepattern": {
                                                    "type": "string",
                                                    "description": "Uses the match group(s) to generate the output using \\0, \\1, \\2, etc"
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "pattern"
                                            ],
                                            "description": "Find searches for a specific value if it exists then return the value using regular expression"
                                        },
                                        "jsonmatch": {
                                            "properties": {
                                                "key": {
                                                    "type": "string"
                                                },
                                                "nomatchresult": {
                                                    "type": "string",
                                                    "description": "If we don't find a match then return the following string or the input value"
                                                },
                                                "joinmultiplematches": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, join them by this"
                                                },
                                                "multiplematchselector": {
                                                    "type": "string",
                                                    "description": "If we find multiple matches, select the \"first\" or the \"last\""
                                                }
                                            },
                                            "additionalProperties": false,
                                            "type": "object",
                                            "required": [
                                                "key"
                                            ]
                                        },
                                        "semverinc": {
                                            "type": "string",
                                            "description": "SemvVerInc specifies a comma separated list semantic versioning component that needs to be upgraded."
                                        },
                                        "quote": {
                                            "type": "boolean",
                                            "description": "Quote add quote around the value"
                                        },
                                        "unquote": {
                                            "type": "boolean",
                                            "description": "Unquote remove quotes around the value"
                                        }
                                    },
                                    "additionalProperties": false,
                                    "type": "object",
                                    "description": "Transformer holds a transformer rule"
                                },
                                "type": "array",
                                "description": "transformers defines how the default input value need to be transformed"
                            },
                            "spec": {
                                "$schema": "http://json-schema.org/draft-04/schema",
                                "properties": {
                                    "documentindex": {
                                        "type": "integer",
                                        "description": "DocumentIndex defines the index of the document to interact with in a multi-document yaml file.\n\ncompatible:\n  * source\n  * condition\n  * target\n\ndefault:\n  empty\n\n remark:\n  * when not set in the context of a source, the value will be retrieve from the first documents matching query.\n  * when not set in the context of a condition or a target, all documents will be evaluated by the query.\n  * When not set in the context of a target, all documents will be updated by the query.\n\nexample:\n  * documentindex: 0\n  * documentindex: 1"
                                    },
                                    "engine": {
                                        "type": "string",
                                        "description": "\"engine\" defines the engine to use to manipulate the yaml file.\n\nThere is no one good Golang library to manipulate yaml files.\nAnd each one of them have has its pros and cons so we decided to allow this customization based on user's needs.\n\nremark:\n * Accepted value is one of \"yamlpath\", \"go-yaml\",\"default\" or nothing\n * go-yaml, \"default\" and \"\" are equivalent"
                                    },
                                    "file": {
                                        "type": "string",
                                        "description": "\"file\" defines the yaml file path to interact with.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * \"file\" and \"files\" are mutually exclusive\n * scheme \"https://\", \"http://\", and \"file://\" are supported in path for source and condition"
                                    },
                                    "files": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"files\" defines the list of yaml files path to interact with.\n\ncompatible:\n * condition\n * target\n\nremark:\n * file and files are mutually exclusive\n * protocols \"https://\", \"http://\", and \"file://\" are supported in file path for source and condition"
                                    },
                                    "key": {
                                        "type": "string",
                                        "description": "\"key\" defines the yaml keypath.\n\ncompatible:\n * source\n * condition\n * target\n\nremark:\n * key is a simpler version of yamlpath accepts keys.\n\nexample using default engine:\n * key: $.name\n * key: $.agent.name\n * key: $.agents[0].name\n * key: $.agents[*].name\n * key: $.'agents.name'\n * key: $.repos[?(@.repository == 'website')].owner\" (require engine set to yamlpath)\n\nremark:\n field path with key/value is not supported at the moment.\n some help would be useful on https://github.com/goccy/go-yaml/issues/290"
                                    },
                                    "keys": {
                                        "items": {
                                            "type": "string"
                                        },
                                        "type": "array",
                                        "description": "\"keys\" defines multiple yaml keypaths to update with the same value.\n\ncompatible:\n * target\n\nremark:\n * keys is mutually exclusive with key.\n * keys accepts the same syntax as key for each element.\n * all keys will be updated with the same value.\n * only available for target operations, not for source or condition.\n\nexample using default engine:\n * keys:\n   - $.image.tag\n   - $.sidecar.tag\n * keys:\n   - $.agents[0].version\n   - $.agents[1].version"
                                    },
                                    "value": {
                                        "type": "string",
                                        "description": "value is the value associated with a yaml key.\n\ncompatible:\n * source\n * condition\n * target\n\ndefault:\n\tWhen used from a condition or a target, the default value is set to the associated source output."
                                    },
                                    "keyonly": {
                                        "type": "boolean",
                                        "description": "keyonly allows to check only if a key exist and do not return an error otherwise\n\ncompatible:\n\t* condition\n\ndefault:\n\tfalse"
                                    },
                                    "searchpattern": {
                                        "type": "boolean",
                                        "description": "searchpattern defines if the MatchPattern should be applied on the file(s) path\n\nIf set to true, it modifies the behavior of the `file` and `files` attributes to search for files matching the pattern instead of searching for files with the exact name.\nWhen looking for file path pattern, it requires pattern to match all of name, not just a substring.\n\nThe pattern syntax is:\n\n```\n   pattern:\n       { term }\n   term:\n       '*'         matches any sequence of non-Separator characters\n       '?'         matches any single non-Separator character\n       '[' [ '^' ] { character-range } ']'\n                   character class (must be non-empty)\n       c           matches character c (c != '*', '?', '\\\\', '[')\n       '\\\\' c      matches character c\n\n   character-range:\n       c           matches character c (c != '\\\\', '-', ']')\n       '\\\\' c      matches character c\n       lo '-' hi   matches character c for lo \u003c= c \u003c= hi\n```"
                                    },
                                    "comment": {
                                        "type": "string",
                                        "description": "comment defines a comment to add after the value.\n\ndefault: empty\n\ncompatible:\n * target\n\nremarks:\n * Please note that the comment is added if the value is modified by Updatecli"
                                    }
                                },
                                "additionalProperties": false,
                                "type": "object",
                                "description": "\"yaml\" defines the specification for manipulating \"yaml\" files."
                            },
                            "scmid": {
                                "type": "string",
                                "description": "scmid specifies the scm configuration key associated to the current resource"
                            },
                            "dependsonchange": {
                                "type": "boolean"
                            },
                            "disablesourceinput": {
                                "type": "boolean"
                            },
                            "sourceid": {
                                "type": "string"
                            },
                            "deprecatedconditionids": {
                                "items": {
                                    "type": "string"
                                },
                                "type": "array"
                            },
                            "disableconditions": {
                                "type": "boolean"
                            }
                        },
                        "additionalProperties": false,
                        "type": "object",
                        "required": [
                            "name",
                            "kind"
                        ]
                    }
                ]
            },
            "type": "object",
            "description": "targets defines the list of Updatecli target definition.\n\nexample:\n---\ntargets:\n  default:\n    name: 'ci: update Golangci-lint version to {{ source \"default\" }}'\n    kind: yaml\n    spec:\n      file: .github/workflows/go.yaml\n      key: $.jobs.build.steps[2].with.version\n    scmid: default\n    sourceid: default\n\t---"
        },
        "version": {
            "type": "string",
            "description": "\"version\" defines the minimum Updatecli version compatible with the manifest"
        },
        "labels": {
            "additionalProperties": {
                "type": "string"
            },
            "type": "object",
            "description": "Labels contains user defined labels attached to the pipeline.\n\nLabels are arbitrary key/value pairs that can be used to categorize or\nselect pipelines. They are typically used for filtering pipelines when\nrunning Updatecli, for example to only run pipelines matching a given\nenvironment, operating system, or team.\n\nexample:\n---\nname: \"Update dependencies\"\nlabels:\n  os: debian\n  environment: staging\n  team: backend\nsources:\n  ...\n---"
        }
    },
    "additionalProperties": false,
    "type": "object",
    "required": [
        "name"
    ],
    "description": "Spec contains pipeline configuration"
}