/* * Copyright 2010-2019 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.logs.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Uploads a batch of log events to the specified log stream. *

*

* You must include the sequence token obtained from the response of the * previous call. An upload in a newly created log stream does not require a * sequence token. You can also get the sequence token using * DescribeLogStreams. If you call PutLogEvents twice within * a narrow time period using the same value for sequenceToken, * both calls may be successful, or one may be rejected. *

*

* The batch of events must satisfy the following constraints: *

* *

* If a call to PutLogEvents returns "UnrecognizedClientException" the most * likely cause is an invalid AWS access key ID or secret key. *

*/ public class PutLogEventsRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The name of the log group. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [\.\-_/#A-Za-z0-9]+
*/ private String logGroupName; /** *

* The name of the log stream. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [^:*]*
*/ private String logStreamName; /** *

* The log events. *

*/ private java.util.List logEvents; /** *

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created log stream * does not require a sequence token. You can also get the sequence token * using DescribeLogStreams. If you call PutLogEvents * twice within a narrow time period using the same value for * sequenceToken, both calls may be successful, or one may be * rejected. *

*

* Constraints:
* Length: 1 -
*/ private String sequenceToken; /** * Default constructor for PutLogEventsRequest object. Callers should use * the setter or fluent setter (with...) methods to initialize any * additional object members. */ public PutLogEventsRequest() { } /** * Constructs a new PutLogEventsRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize any additional * object members. * * @param logGroupName

* The name of the log group. *

* @param logStreamName

* The name of the log stream. *

* @param logEvents

* The log events. *

*/ public PutLogEventsRequest(String logGroupName, String logStreamName, java.util.List logEvents) { setLogGroupName(logGroupName); setLogStreamName(logStreamName); setLogEvents(logEvents); } /** *

* The name of the log group. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [\.\-_/#A-Za-z0-9]+
* * @return

* The name of the log group. *

*/ public String getLogGroupName() { return logGroupName; } /** *

* The name of the log group. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [\.\-_/#A-Za-z0-9]+
* * @param logGroupName

* The name of the log group. *

*/ public void setLogGroupName(String logGroupName) { this.logGroupName = logGroupName; } /** *

* The name of the log group. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 512
* Pattern: [\.\-_/#A-Za-z0-9]+
* * @param logGroupName

* The name of the log group. *

* @return A reference to this updated object so that method calls can be * chained together. */ public PutLogEventsRequest withLogGroupName(String logGroupName) { this.logGroupName = logGroupName; return this; } /** *

* The name of the log stream. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [^:*]*
* * @return

* The name of the log stream. *

*/ public String getLogStreamName() { return logStreamName; } /** *

* The name of the log stream. *

*

* Constraints:
* Length: 1 - 512
* Pattern: [^:*]*
* * @param logStreamName

* The name of the log stream. *

*/ public void setLogStreamName(String logStreamName) { this.logStreamName = logStreamName; } /** *

* The name of the log stream. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 512
* Pattern: [^:*]*
* * @param logStreamName

* The name of the log stream. *

* @return A reference to this updated object so that method calls can be * chained together. */ public PutLogEventsRequest withLogStreamName(String logStreamName) { this.logStreamName = logStreamName; return this; } /** *

* The log events. *

* * @return

* The log events. *

*/ public java.util.List getLogEvents() { return logEvents; } /** *

* The log events. *

* * @param logEvents

* The log events. *

*/ public void setLogEvents(java.util.Collection logEvents) { if (logEvents == null) { this.logEvents = null; return; } this.logEvents = new java.util.ArrayList(logEvents); } /** *

* The log events. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param logEvents

* The log events. *

* @return A reference to this updated object so that method calls can be * chained together. */ public PutLogEventsRequest withLogEvents(InputLogEvent... logEvents) { if (getLogEvents() == null) { this.logEvents = new java.util.ArrayList(logEvents.length); } for (InputLogEvent value : logEvents) { this.logEvents.add(value); } return this; } /** *

* The log events. *

*

* Returns a reference to this object so that method calls can be chained * together. * * @param logEvents

* The log events. *

* @return A reference to this updated object so that method calls can be * chained together. */ public PutLogEventsRequest withLogEvents(java.util.Collection logEvents) { setLogEvents(logEvents); return this; } /** *

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created log stream * does not require a sequence token. You can also get the sequence token * using DescribeLogStreams. If you call PutLogEvents * twice within a narrow time period using the same value for * sequenceToken, both calls may be successful, or one may be * rejected. *

*

* Constraints:
* Length: 1 -
* * @return

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created log * stream does not require a sequence token. You can also get the * sequence token using DescribeLogStreams. If you call * PutLogEvents twice within a narrow time period using * the same value for sequenceToken, both calls may be * successful, or one may be rejected. *

*/ public String getSequenceToken() { return sequenceToken; } /** *

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created log stream * does not require a sequence token. You can also get the sequence token * using DescribeLogStreams. If you call PutLogEvents * twice within a narrow time period using the same value for * sequenceToken, both calls may be successful, or one may be * rejected. *

*

* Constraints:
* Length: 1 -
* * @param sequenceToken

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created * log stream does not require a sequence token. You can also get * the sequence token using DescribeLogStreams. If you * call PutLogEvents twice within a narrow time * period using the same value for sequenceToken, * both calls may be successful, or one may be rejected. *

*/ public void setSequenceToken(String sequenceToken) { this.sequenceToken = sequenceToken; } /** *

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created log stream * does not require a sequence token. You can also get the sequence token * using DescribeLogStreams. If you call PutLogEvents * twice within a narrow time period using the same value for * sequenceToken, both calls may be successful, or one may be * rejected. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 -
* * @param sequenceToken

* The sequence token obtained from the response of the previous * PutLogEvents call. An upload in a newly created * log stream does not require a sequence token. You can also get * the sequence token using DescribeLogStreams. If you * call PutLogEvents twice within a narrow time * period using the same value for sequenceToken, * both calls may be successful, or one may be rejected. *

* @return A reference to this updated object so that method calls can be * chained together. */ public PutLogEventsRequest withSequenceToken(String sequenceToken) { this.sequenceToken = sequenceToken; 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 (getLogGroupName() != null) sb.append("logGroupName: " + getLogGroupName() + ","); if (getLogStreamName() != null) sb.append("logStreamName: " + getLogStreamName() + ","); if (getLogEvents() != null) sb.append("logEvents: " + getLogEvents() + ","); if (getSequenceToken() != null) sb.append("sequenceToken: " + getSequenceToken()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLogGroupName() == null) ? 0 : getLogGroupName().hashCode()); hashCode = prime * hashCode + ((getLogStreamName() == null) ? 0 : getLogStreamName().hashCode()); hashCode = prime * hashCode + ((getLogEvents() == null) ? 0 : getLogEvents().hashCode()); hashCode = prime * hashCode + ((getSequenceToken() == null) ? 0 : getSequenceToken().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof PutLogEventsRequest == false) return false; PutLogEventsRequest other = (PutLogEventsRequest) obj; if (other.getLogGroupName() == null ^ this.getLogGroupName() == null) return false; if (other.getLogGroupName() != null && other.getLogGroupName().equals(this.getLogGroupName()) == false) return false; if (other.getLogStreamName() == null ^ this.getLogStreamName() == null) return false; if (other.getLogStreamName() != null && other.getLogStreamName().equals(this.getLogStreamName()) == false) return false; if (other.getLogEvents() == null ^ this.getLogEvents() == null) return false; if (other.getLogEvents() != null && other.getLogEvents().equals(this.getLogEvents()) == false) return false; if (other.getSequenceToken() == null ^ this.getSequenceToken() == null) return false; if (other.getSequenceToken() != null && other.getSequenceToken().equals(this.getSequenceToken()) == false) return false; return true; } }