/* * Copyright 2012-2017 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 javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see <a href="http://docs.aws.amazon.com/goto/WebAPI/logs-2014-03-28/DescribeLogStreams" target="_top">AWS API * Documentation</a> */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DescribeLogStreamsRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** * <p> * The name of the log group. * </p> */ private String logGroupName; /** * <p> * The prefix to match. * </p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. * </p> */ private String logStreamNamePrefix; /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> */ private String orderBy; /** * <p> * If the value is true, results are returned in descending order. If the value is to false, results are returned in * ascending order. The default value is false. * </p> */ private Boolean descending; /** * <p> * The token for the next set of items to return. (You received this token from a previous call.) * </p> */ private String nextToken; /** * <p> * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. * </p> */ private Integer limit; /** * Default constructor for DescribeLogStreamsRequest object. Callers should use the setter or fluent setter * (with...) methods to initialize the object after creating it. */ public DescribeLogStreamsRequest() { } /** * Constructs a new DescribeLogStreamsRequest 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. */ public DescribeLogStreamsRequest(String logGroupName) { setLogGroupName(logGroupName); } /** * <p> * The name of the log group. * </p> * * @param logGroupName * The name of the log group. */ public void setLogGroupName(String logGroupName) { this.logGroupName = logGroupName; } /** * <p> * The name of the log group. * </p> * * @return The name of the log group. */ public String getLogGroupName() { return this.logGroupName; } /** * <p> * The name of the log group. * </p> * * @param logGroupName * The name of the log group. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeLogStreamsRequest withLogGroupName(String logGroupName) { setLogGroupName(logGroupName); return this; } /** * <p> * The prefix to match. * </p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. * </p> * * @param logStreamNamePrefix * The prefix to match.</p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. */ public void setLogStreamNamePrefix(String logStreamNamePrefix) { this.logStreamNamePrefix = logStreamNamePrefix; } /** * <p> * The prefix to match. * </p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. * </p> * * @return The prefix to match.</p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. */ public String getLogStreamNamePrefix() { return this.logStreamNamePrefix; } /** * <p> * The prefix to match. * </p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. * </p> * * @param logStreamNamePrefix * The prefix to match.</p> * <p> * You cannot specify this parameter if <code>orderBy</code> is <code>LastEventTime</code>. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeLogStreamsRequest withLogStreamNamePrefix(String logStreamNamePrefix) { setLogStreamNamePrefix(logStreamNamePrefix); return this; } /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> * * @param orderBy * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>.</p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. * This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp * updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but * may take longer in some rare situations. * @see OrderBy */ public void setOrderBy(String orderBy) { this.orderBy = orderBy; } /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> * * @return If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>.</p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> * parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. * This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp * updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but * may take longer in some rare situations. * @see OrderBy */ public String getOrderBy() { return this.orderBy; } /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> * * @param orderBy * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>.</p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. * This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp * updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but * may take longer in some rare situations. * @return Returns a reference to this object so that method calls can be chained together. * @see OrderBy */ public DescribeLogStreamsRequest withOrderBy(String orderBy) { setOrderBy(orderBy); return this; } /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> * * @param orderBy * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>.</p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. * This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp * updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but * may take longer in some rare situations. * @see OrderBy */ public void setOrderBy(OrderBy orderBy) { this.orderBy = orderBy.toString(); } /** * <p> * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>. * </p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. This * number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp updates on * an eventual consistency basis. It typically updates in less than an hour from ingestion, but may take longer in * some rare situations. * </p> * * @param orderBy * If the value is <code>LogStreamName</code>, the results are ordered by log stream name. If the value is * <code>LastEventTime</code>, the results are ordered by the event time. The default value is * <code>LogStreamName</code>.</p> * <p> * If you order the results by event time, you cannot specify the <code>logStreamNamePrefix</code> parameter. * </p> * <p> * lastEventTimestamp represents the time of the most recent log event in the log stream in CloudWatch Logs. * This number is expressed as the number of milliseconds since Jan 1, 1970 00:00:00 UTC. lastEventTimeStamp * updates on an eventual consistency basis. It typically updates in less than an hour from ingestion, but * may take longer in some rare situations. * @return Returns a reference to this object so that method calls can be chained together. * @see OrderBy */ public DescribeLogStreamsRequest withOrderBy(OrderBy orderBy) { setOrderBy(orderBy); return this; } /** * <p> * If the value is true, results are returned in descending order. If the value is to false, results are returned in * ascending order. The default value is false. * </p> * * @param descending * If the value is true, results are returned in descending order. If the value is to false, results are * returned in ascending order. The default value is false. */ public void setDescending(Boolean descending) { this.descending = descending; } /** * <p> * If the value is true, results are returned in descending order. If the value is to false, results are returned in * ascending order. The default value is false. * </p> * * @return If the value is true, results are returned in descending order. If the value is to false, results are * returned in ascending order. The default value is false. */ public Boolean getDescending() { return this.descending; } /** * <p> * If the value is true, results are returned in descending order. If the value is to false, results are returned in * ascending order. The default value is false. * </p> * * @param descending * If the value is true, results are returned in descending order. If the value is to false, results are * returned in ascending order. The default value is false. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeLogStreamsRequest withDescending(Boolean descending) { setDescending(descending); return this; } /** * <p> * If the value is true, results are returned in descending order. If the value is to false, results are returned in * ascending order. The default value is false. * </p> * * @return If the value is true, results are returned in descending order. If the value is to false, results are * returned in ascending order. The default value is false. */ public Boolean isDescending() { return this.descending; } /** * <p> * The token for the next set of items to return. (You received this token from a previous call.) * </p> * * @param nextToken * The token for the next set of items to return. (You received this token from a previous call.) */ public void setNextToken(String nextToken) { this.nextToken = nextToken; } /** * <p> * The token for the next set of items to return. (You received this token from a previous call.) * </p> * * @return The token for the next set of items to return. (You received this token from a previous call.) */ public String getNextToken() { return this.nextToken; } /** * <p> * The token for the next set of items to return. (You received this token from a previous call.) * </p> * * @param nextToken * The token for the next set of items to return. (You received this token from a previous call.) * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeLogStreamsRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; } /** * <p> * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. * </p> * * @param limit * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. */ public void setLimit(Integer limit) { this.limit = limit; } /** * <p> * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. * </p> * * @return The maximum number of items returned. If you don't specify a value, the default is up to 50 items. */ public Integer getLimit() { return this.limit; } /** * <p> * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. * </p> * * @param limit * The maximum number of items returned. If you don't specify a value, the default is up to 50 items. * @return Returns a reference to this object so that method calls can be chained together. */ public DescribeLogStreamsRequest withLimit(Integer limit) { setLimit(limit); 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: ").append(getLogGroupName()).append(","); if (getLogStreamNamePrefix() != null) sb.append("LogStreamNamePrefix: ").append(getLogStreamNamePrefix()).append(","); if (getOrderBy() != null) sb.append("OrderBy: ").append(getOrderBy()).append(","); if (getDescending() != null) sb.append("Descending: ").append(getDescending()).append(","); if (getNextToken() != null) sb.append("NextToken: ").append(getNextToken()).append(","); if (getLimit() != null) sb.append("Limit: ").append(getLimit()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof DescribeLogStreamsRequest == false) return false; DescribeLogStreamsRequest other = (DescribeLogStreamsRequest) obj; if (other.getLogGroupName() == null ^ this.getLogGroupName() == null) return false; if (other.getLogGroupName() != null && other.getLogGroupName().equals(this.getLogGroupName()) == false) return false; if (other.getLogStreamNamePrefix() == null ^ this.getLogStreamNamePrefix() == null) return false; if (other.getLogStreamNamePrefix() != null && other.getLogStreamNamePrefix().equals(this.getLogStreamNamePrefix()) == false) return false; if (other.getOrderBy() == null ^ this.getOrderBy() == null) return false; if (other.getOrderBy() != null && other.getOrderBy().equals(this.getOrderBy()) == false) return false; if (other.getDescending() == null ^ this.getDescending() == null) return false; if (other.getDescending() != null && other.getDescending().equals(this.getDescending()) == false) return false; if (other.getNextToken() == null ^ this.getNextToken() == null) return false; if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false) return false; if (other.getLimit() == null ^ this.getLimit() == null) return false; if (other.getLimit() != null && other.getLimit().equals(this.getLimit()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getLogGroupName() == null) ? 0 : getLogGroupName().hashCode()); hashCode = prime * hashCode + ((getLogStreamNamePrefix() == null) ? 0 : getLogStreamNamePrefix().hashCode()); hashCode = prime * hashCode + ((getOrderBy() == null) ? 0 : getOrderBy().hashCode()); hashCode = prime * hashCode + ((getDescending() == null) ? 0 : getDescending().hashCode()); hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode()); hashCode = prime * hashCode + ((getLimit() == null) ? 0 : getLimit().hashCode()); return hashCode; } @Override public DescribeLogStreamsRequest clone() { return (DescribeLogStreamsRequest) super.clone(); } }