/* * 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 logs-2014-03-28.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.CloudWatchLogs.Model { /// /// Container for the parameters to the StartQuery operation. /// Schedules a query of a log group using CloudWatch Logs Insights. You specify the log /// group and time range to query and the query string to use. /// /// /// /// For more information, see CloudWatch /// Logs Insights Query Syntax. /// /// /// /// After you run a query using StartQuery, the query results are stored /// by CloudWatch Logs. You can use GetQueryResults /// to retrieve the results of a query, using the queryId that StartQuery /// returns. /// /// /// /// If you have associated a KMS key with the query results in this account, then StartQuery /// uses that key to encrypt the results when it stores them. If no key is associated /// with query results, the query results are encrypted with the default CloudWatch Logs /// encryption method. /// /// /// /// Queries time out after 60 minutes of runtime. If your queries are timing out, reduce /// the time range being searched or partition your query into a number of queries. /// /// /// /// If you are using CloudWatch cross-account observability, you can use this operation /// in a monitoring account to start a query in a linked source account. For more information, /// see CloudWatch /// cross-account observability. For a cross-account StartQuery operation, /// the query definition must be defined in the monitoring account. /// /// /// /// You can have up to 30 concurrent CloudWatch Logs insights queries, including queries /// that have been added to dashboards. /// /// public partial class StartQueryRequest : AmazonCloudWatchLogsRequest { private long? _endTime; private int? _limit; private List _logGroupIdentifiers = new List(); private string _logGroupName; private List _logGroupNames = new List(); private string _queryString; private long? _startTime; /// /// Gets and sets the property EndTime. /// /// The end of the time range to query. The range is inclusive, so the specified end time /// is included in the query. Specified as epoch time, the number of seconds since January /// 1, 1970, 00:00:00 UTC. /// /// [AWSProperty(Required=true, Min=0)] public long EndTime { get { return this._endTime.GetValueOrDefault(); } set { this._endTime = value; } } // Check to see if EndTime property is set internal bool IsSetEndTime() { return this._endTime.HasValue; } /// /// Gets and sets the property Limit. /// /// The maximum number of log events to return in the query. If the query string uses /// the fields command, only the specified fields and their values are returned. /// The default is 1000. /// /// [AWSProperty(Min=1, Max=10000)] public int Limit { get { return this._limit.GetValueOrDefault(); } set { this._limit = value; } } // Check to see if Limit property is set internal bool IsSetLimit() { return this._limit.HasValue; } /// /// Gets and sets the property LogGroupIdentifiers. /// /// The list of log groups to query. You can include up to 50 log groups. /// /// /// /// You can specify them by the log group name or ARN. If a log group that you're querying /// is in a source account and you're using a monitoring account, you must specify the /// ARN of the log group here. The query definition must also be defined in the monitoring /// account. /// /// /// /// If you specify an ARN, the ARN can't end with an asterisk (*). /// /// /// /// A StartQuery operation must include exactly one of the following parameters: /// logGroupName, logGroupNames, or logGroupIdentifiers. /// /// /// public List LogGroupIdentifiers { get { return this._logGroupIdentifiers; } set { this._logGroupIdentifiers = value; } } // Check to see if LogGroupIdentifiers property is set internal bool IsSetLogGroupIdentifiers() { return this._logGroupIdentifiers != null && this._logGroupIdentifiers.Count > 0; } /// /// Gets and sets the property LogGroupName. /// /// The log group on which to perform the query. /// /// /// /// A StartQuery operation must include exactly one of the following parameters: /// logGroupName, logGroupNames, or logGroupIdentifiers. /// /// /// /// [AWSProperty(Min=1, Max=512)] public string LogGroupName { get { return this._logGroupName; } set { this._logGroupName = value; } } // Check to see if LogGroupName property is set internal bool IsSetLogGroupName() { return this._logGroupName != null; } /// /// Gets and sets the property LogGroupNames. /// /// The list of log groups to be queried. You can include up to 50 log groups. /// /// /// /// A StartQuery operation must include exactly one of the following parameters: /// logGroupName, logGroupNames, or logGroupIdentifiers. /// /// /// /// public List LogGroupNames { get { return this._logGroupNames; } set { this._logGroupNames = value; } } // Check to see if LogGroupNames property is set internal bool IsSetLogGroupNames() { return this._logGroupNames != null && this._logGroupNames.Count > 0; } /// /// Gets and sets the property QueryString. /// /// The query string to use. For more information, see CloudWatch /// Logs Insights Query Syntax. /// /// [AWSProperty(Required=true, Min=0, Max=10000)] public string QueryString { get { return this._queryString; } set { this._queryString = value; } } // Check to see if QueryString property is set internal bool IsSetQueryString() { return this._queryString != null; } /// /// Gets and sets the property StartTime. /// /// The beginning of the time range to query. The range is inclusive, so the specified /// start time is included in the query. Specified as epoch time, the number of seconds /// since January 1, 1970, 00:00:00 UTC. /// /// [AWSProperty(Required=true, Min=0)] public long StartTime { get { return this._startTime.GetValueOrDefault(); } set { this._startTime = value; } } // Check to see if StartTime property is set internal bool IsSetStartTime() { return this._startTime.HasValue; } } }