Class: Aws::CloudWatchEvents::Types::InputTransformer

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-cloudwatchevents/types.rb

Overview

Note:

When making an API call, you may pass InputTransformer data as a hash:

{
  input_paths_map: {
    "InputTransformerPathKey" => "TargetInputPath",
  },
  input_template: "TransformerInput", # required
}

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.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#input_paths_mapHash<String,String>

Map of JSON paths to be extracted from the event. 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 “Amazon Web Services.”

Returns:

  • (Hash<String,String>)

2663
2664
2665
2666
2667
2668
# File 'lib/aws-sdk-cloudwatchevents/types.rb', line 2663

class InputTransformer < Struct.new(
  :input_paths_map,
  :input_template)
  SENSITIVE = []
  include Aws::Structure
end

#input_templateString

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. Enclose each `InputPathsMaps` value in brackets: &lt;value&gt; The InputTemplate must be valid JSON.

If `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:

  • The placeholder cannot be used as an object key.

^

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”: '<instance>,“myStatus”: “<instance> is in state ”<status>“”'`

`}`

Returns:

  • (String)

2663
2664
2665
2666
2667
2668
# File 'lib/aws-sdk-cloudwatchevents/types.rb', line 2663

class InputTransformer < Struct.new(
  :input_paths_map,
  :input_template)
  SENSITIVE = []
  include Aws::Structure
end