All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudwatchevents.model.Target Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon CloudWatch Events module holds the client classes that are used for communicating with Amazon CloudWatch Events Service

There is a newer version: 1.12.782
Show newest version
/*
 * Copyright 2011-2016 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.
 */
package com.amazonaws.services.cloudwatchevents.model;

import java.io.Serializable;

/**
 * 

* Targets are the resources that can be invoked when a rule is triggered. For * example, AWS Lambda functions, Amazon Kinesis streams, and built-in targets. *

*

* Input and InputPath are mutually-exclusive and optional * parameters of a target. When a rule is triggered due to a matched event, if * for a target: *

*
    *
  • Neither Input nor InputPath is specified, then the entire * event is passed to the target in JSON form.
  • *
  • InputPath is specified in the form of JSONPath (e.g. * $.detail), then only the part of the event specified in the path is * passed to the target (e.g. only the detail part of the event is passed).
  • *
  • Input is specified in the form of a valid JSON, then the matched * event is overridden with this constant.
  • *
*/ public class Target implements Serializable, Cloneable { /** *

* The unique target assignment ID. *

*/ private String id; /** *

* The Amazon Resource Name (ARN) associated of the target. *

*/ private String arn; /** *

* Valid JSON text passed to the target. For more information about JSON * text, see The * JavaScript Object Notation (JSON) Data Interchange Format. *

*/ private String input; /** *

* The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. For more information about JSON * paths, see JSONPath. *

*/ private String inputPath; /** *

* The unique target assignment ID. *

* * @param id * The unique target assignment ID. */ public void setId(String id) { this.id = id; } /** *

* The unique target assignment ID. *

* * @return The unique target assignment ID. */ public String getId() { return this.id; } /** *

* The unique target assignment ID. *

* * @param id * The unique target assignment ID. * @return Returns a reference to this object so that method calls can be * chained together. */ public Target withId(String id) { setId(id); return this; } /** *

* The Amazon Resource Name (ARN) associated of the target. *

* * @param arn * The Amazon Resource Name (ARN) associated of the target. */ public void setArn(String arn) { this.arn = arn; } /** *

* The Amazon Resource Name (ARN) associated of the target. *

* * @return The Amazon Resource Name (ARN) associated of the target. */ public String getArn() { return this.arn; } /** *

* The Amazon Resource Name (ARN) associated of the target. *

* * @param arn * The Amazon Resource Name (ARN) associated of the target. * @return Returns a reference to this object so that method calls can be * chained together. */ public Target withArn(String arn) { setArn(arn); return this; } /** *

* Valid JSON text passed to the target. For more information about JSON * text, see The * JavaScript Object Notation (JSON) Data Interchange Format. *

* * @param input * Valid JSON text passed to the target. For more information about * JSON text, see The JavaScript * Object Notation (JSON) Data Interchange Format. */ public void setInput(String input) { this.input = input; } /** *

* Valid JSON text passed to the target. For more information about JSON * text, see The * JavaScript Object Notation (JSON) Data Interchange Format. *

* * @return Valid JSON text passed to the target. For more information about * JSON text, see The JavaScript * Object Notation (JSON) Data Interchange Format. */ public String getInput() { return this.input; } /** *

* Valid JSON text passed to the target. For more information about JSON * text, see The * JavaScript Object Notation (JSON) Data Interchange Format. *

* * @param input * Valid JSON text passed to the target. For more information about * JSON text, see The JavaScript * Object Notation (JSON) Data Interchange Format. * @return Returns a reference to this object so that method calls can be * chained together. */ public Target withInput(String input) { setInput(input); return this; } /** *

* The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. For more information about JSON * paths, see JSONPath. *

* * @param inputPath * The value of the JSONPath that is used for extracting part of the * matched event when passing it to the target. For more information * about JSON paths, see JSONPath. */ public void setInputPath(String inputPath) { this.inputPath = inputPath; } /** *

* The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. For more information about JSON * paths, see JSONPath. *

* * @return The value of the JSONPath that is used for extracting part of the * matched event when passing it to the target. For more information * about JSON paths, see JSONPath. */ public String getInputPath() { return this.inputPath; } /** *

* The value of the JSONPath that is used for extracting part of the matched * event when passing it to the target. For more information about JSON * paths, see JSONPath. *

* * @param inputPath * The value of the JSONPath that is used for extracting part of the * matched event when passing it to the target. For more information * about JSON paths, see JSONPath. * @return Returns a reference to this object so that method calls can be * chained together. */ public Target withInputPath(String inputPath) { setInputPath(inputPath); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getId() != null) sb.append("Id: " + getId() + ","); if (getArn() != null) sb.append("Arn: " + getArn() + ","); if (getInput() != null) sb.append("Input: " + getInput() + ","); if (getInputPath() != null) sb.append("InputPath: " + getInputPath()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Target == false) return false; Target other = (Target) obj; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getArn() == null ^ this.getArn() == null) return false; if (other.getArn() != null && other.getArn().equals(this.getArn()) == false) return false; if (other.getInput() == null ^ this.getInput() == null) return false; if (other.getInput() != null && other.getInput().equals(this.getInput()) == false) return false; if (other.getInputPath() == null ^ this.getInputPath() == null) return false; if (other.getInputPath() != null && other.getInputPath().equals(this.getInputPath()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getArn() == null) ? 0 : getArn().hashCode()); hashCode = prime * hashCode + ((getInput() == null) ? 0 : getInput().hashCode()); hashCode = prime * hashCode + ((getInputPath() == null) ? 0 : getInputPath().hashCode()); return hashCode; } @Override public Target clone() { try { return (Target) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy