/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the events-2015-10-07.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.CloudWatchEvents.Model { /// /// 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. /// public partial class InputTransformer { private Dictionary _inputPathsMap = new Dictionary(); private string _inputTemplate; /// /// Gets and sets the property InputPathsMap. /// /// 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." /// /// [AWSProperty(Max=100)] public Dictionary InputPathsMap { get { return this._inputPathsMap; } set { this._inputPathsMap = value; } } // Check to see if InputPathsMap property is set internal bool IsSetInputPathsMap() { return this._inputPathsMap != null && this._inputPathsMap.Count > 0; } /// /// Gets and sets the property 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. /// Enclose each InputPathsMaps value in brackets: <value> 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": '{"myInstance": <instance>,"myStatus": "<instance> /// is in state \"<status>\""}' /// /// /// /// } /// ///
[AWSProperty(Required=true, Min=1, Max=8192)] public string InputTemplate { get { return this._inputTemplate; } set { this._inputTemplate = value; } } // Check to see if InputTemplate property is set internal bool IsSetInputTemplate() { return this._inputTemplate != null; } } }