Skip to content

Latest commit

 

History

History
39 lines (34 loc) · 1.57 KB

File metadata and controls

39 lines (34 loc) · 1.57 KB
title sidebar_label
ExecRecipe
ExecRecipe

The ExecRecipe can be used to run the command on the service (see exec or wait)

exec_recipe = ExecRecipe(
    # The actual command to execute. 
    # Each item corresponds to one shell argument, so ["echo", "Hello world"] behaves as if you ran "echo 'Hello World'" in the shell.
    # MANDATORY
    command = ["echo", "Hello, World"],
        
    # The extract dictionary can be used for filtering specific parts of a response
    # assigning that output to a key-value pair, where the key is the reference 
    # variable and the value is the specific output. 
    # 
    # Specifcally: the key is the way you refer to the extraction later on and
    # the value is a 'jq' string that contains logic to extract parts from response 
    # body that you get from the exec_recipe used
    # 
    # To lean more about jq, please visit https://devdocs.io/jq/
    # OPTIONAL (DEFAULT:{})
    extract = {
        "extractfield" : ".name.id",
    },
)

:::tip If you are trying to run a complex command with |, you should prefix the command with /bin/sh -c and wrap the actual command in a string; for example: command = ["echo", "a", "|", "grep a"] should be rewritten as command = ["/bin/sh", "-c", "echo a | grep a"]. Not doing so makes everything after the echo as args of that command, instead of following the behavior you would expect from a shell. :::