Merge YAML snippet
** org.openrewrite.yaml.MergeYaml** Merge a YAML snippet with an existing YAML document.

Source

  • groupId: org.openrewrite
  • artifactId: rewrite-yaml
  • version: 7.22.0

Options

Type
Name
Description
String
key
A JsonPath expression used to find matching keys.
String
yaml
The YAML snippet to insert. The snippet will be indented to match the style of its surroundings.
Boolean
acceptTheirs
Optional. When the YAML snippet to insert conflicts with an existing key value pair and an existing key has a different value, prefer the original value.
String
fileMatcher
Optional. Matching files will be modified. This is a glob expression.

Usage

This recipe has required configuration parameters. Recipes with required configuration parameters cannot be activated directly. To activate this recipe you must create a new recipe which fills in the required parameters. In your rewrite.yml create a new recipe with a unique name. For example: com.yourorg.MergeYamlExample. Here's how you can define and customize such a recipe within your rewrite.yml:
rewrite.yml
1
---
2
type: specs.openrewrite.org/v1beta/recipe
3
name: com.yourorg.MergeYamlExample
4
displayName: Merge YAML snippet example
5
recipeList:
6
- org.openrewrite.yaml.MergeYaml:
7
key: $.metadata
8
yaml: labels:
9
label-one: "value-one"
10
acceptTheirs: null
11
fileMatcher: '**/application-*.yml'
Copied!
Now that com.yourorg.MergeYamlExample has been defined activate it in your build file:
Gradle
Maven
build.gradle
1
plugins {
2
id("org.openrewrite.rewrite") version("5.20.0")
3
}
4
5
rewrite {
6
activeRecipe("com.yourorg.MergeYamlExample")
7
}
8
9
repositories {
10
mavenCentral()
11
}
Copied!
pom.xml
1
<project>
2
<build>
3
<plugins>
4
<plugin>
5
<groupId>org.openrewrite.maven</groupId>
6
<artifactId>rewrite-maven-plugin</artifactId>
7
<version>4.23.0</version>
8
<configuration>
9
<activeRecipes>
10
<recipe>com.yourorg.MergeYamlExample</recipe>
11
</activeRecipes>
12
</configuration>
13
</plugin>
14
</plugins>
15
</build>
16
</project>
Copied!
Recipes can also be activated directly from the commandline by adding the argument -Drewrite.activeRecipes=com.yourorg.MergeYamlExample
Export as PDF
Copy link