Interface CfnRule.IInputTransformerProperty
Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.
Namespace: Amazon.CDK.AWS.Events
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface CfnRule.IInputTransformerProperty
Syntax (vb)
Public Interface CfnRule.IInputTransformerProperty
Remarks
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.Events;
var inputTransformerProperty = new InputTransformerProperty {
InputTemplate = "inputTemplate",
// the properties below are optional
InputPathsMap = new Dictionary<string, string> {
{ "inputPathsMapKey", "inputPathsMap" }
}
};
Synopsis
Properties
| InputPathsMap | Map of JSON paths to be extracted from the event. |
| InputTemplate | Input template where you specify placeholders that will be filled with the values of the keys from |
Properties
InputPathsMap
Map of JSON paths to be extracted from the event.
object? InputPathsMap { get; }
Property Value
Remarks
You can then insert these in the template in InputTemplate to produce the output you want to be sent to the target.
InputPathsMap is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.
The keys cannot start with " AWS ."
Type union: either Dictionary<string, string> or IResolvable
InputTemplate
Input template where you specify placeholders that will be filled with the values of the keys from InputPathsMap to customize the data sent to the target.
string InputTemplate { get; }
Property Value
Remarks
Enclose each InputPathsMaps value in brackets: < value >
If InputTemplate is a JSON object (surrounded by curly braces), the following restrictions apply:
The following example shows the syntax for using InputPathsMap and InputTemplate .
"InputTransformer":
{
"InputPathsMap": {"instance": "\(.detail.instance","status": "\).detail.status"},
"InputTemplate": "<instance> is in state <status>"
}
To have the InputTemplate include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:
"InputTransformer":
{
"InputPathsMap": {"instance": "\(.detail.instance","status": "\).detail.status"},
"InputTemplate": "<instance> is in state "<status>""
}
The InputTemplate can also be valid JSON with varibles in quotes or out, as in the following example:
"InputTransformer":
{
"InputPathsMap": {"instance": "\(.detail.instance","status": "\).detail.status"},
"InputTemplate": '{"myInstance": <instance>,"myStatus": "<instance> is in state "<status>""}'
}