import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types" ; import { CloudTrailClient } from "./CloudTrailClient" ; import { AddTagsCommand , AddTagsCommandInput , AddTagsCommandOutput } from "./commands/AddTagsCommand" ; import { CancelQueryCommand , CancelQueryCommandInput , CancelQueryCommandOutput } from "./commands/CancelQueryCommand" ; import { CreateEventDataStoreCommand , CreateEventDataStoreCommandInput , CreateEventDataStoreCommandOutput , } from "./commands/CreateEventDataStoreCommand" ; import { CreateTrailCommand , CreateTrailCommandInput , CreateTrailCommandOutput } from "./commands/CreateTrailCommand" ; import { DeleteEventDataStoreCommand , DeleteEventDataStoreCommandInput , DeleteEventDataStoreCommandOutput , } from "./commands/DeleteEventDataStoreCommand" ; import { DeleteTrailCommand , DeleteTrailCommandInput , DeleteTrailCommandOutput } from "./commands/DeleteTrailCommand" ; import { DescribeQueryCommand , DescribeQueryCommandInput , DescribeQueryCommandOutput , } from "./commands/DescribeQueryCommand" ; import { DescribeTrailsCommand , DescribeTrailsCommandInput , DescribeTrailsCommandOutput , } from "./commands/DescribeTrailsCommand" ; import { GetEventDataStoreCommand , GetEventDataStoreCommandInput , GetEventDataStoreCommandOutput , } from "./commands/GetEventDataStoreCommand" ; import { GetEventSelectorsCommand , GetEventSelectorsCommandInput , GetEventSelectorsCommandOutput , } from "./commands/GetEventSelectorsCommand" ; import { GetInsightSelectorsCommand , GetInsightSelectorsCommandInput , GetInsightSelectorsCommandOutput , } from "./commands/GetInsightSelectorsCommand" ; import { GetQueryResultsCommand , GetQueryResultsCommandInput , GetQueryResultsCommandOutput , } from "./commands/GetQueryResultsCommand" ; import { GetTrailCommand , GetTrailCommandInput , GetTrailCommandOutput } from "./commands/GetTrailCommand" ; import { GetTrailStatusCommand , GetTrailStatusCommandInput , GetTrailStatusCommandOutput , } from "./commands/GetTrailStatusCommand" ; import { ListEventDataStoresCommand , ListEventDataStoresCommandInput , ListEventDataStoresCommandOutput , } from "./commands/ListEventDataStoresCommand" ; import { ListPublicKeysCommand , ListPublicKeysCommandInput , ListPublicKeysCommandOutput , } from "./commands/ListPublicKeysCommand" ; import { ListQueriesCommand , ListQueriesCommandInput , ListQueriesCommandOutput } from "./commands/ListQueriesCommand" ; import { ListTagsCommand , ListTagsCommandInput , ListTagsCommandOutput } from "./commands/ListTagsCommand" ; import { ListTrailsCommand , ListTrailsCommandInput , ListTrailsCommandOutput } from "./commands/ListTrailsCommand" ; import { LookupEventsCommand , LookupEventsCommandInput , LookupEventsCommandOutput , } from "./commands/LookupEventsCommand" ; import { PutEventSelectorsCommand , PutEventSelectorsCommandInput , PutEventSelectorsCommandOutput , } from "./commands/PutEventSelectorsCommand" ; import { PutInsightSelectorsCommand , PutInsightSelectorsCommandInput , PutInsightSelectorsCommandOutput , } from "./commands/PutInsightSelectorsCommand" ; import { RemoveTagsCommand , RemoveTagsCommandInput , RemoveTagsCommandOutput } from "./commands/RemoveTagsCommand" ; import { RestoreEventDataStoreCommand , RestoreEventDataStoreCommandInput , RestoreEventDataStoreCommandOutput , } from "./commands/RestoreEventDataStoreCommand" ; import { StartLoggingCommand , StartLoggingCommandInput , StartLoggingCommandOutput , } from "./commands/StartLoggingCommand" ; import { StartQueryCommand , StartQueryCommandInput , StartQueryCommandOutput } from "./commands/StartQueryCommand" ; import { StopLoggingCommand , StopLoggingCommandInput , StopLoggingCommandOutput } from "./commands/StopLoggingCommand" ; import { UpdateEventDataStoreCommand , UpdateEventDataStoreCommandInput , UpdateEventDataStoreCommandOutput , } from "./commands/UpdateEventDataStoreCommand" ; import { UpdateTrailCommand , UpdateTrailCommandInput , UpdateTrailCommandOutput } from "./commands/UpdateTrailCommand" ; /**
 * <fullname>CloudTrail</fullname>
 *          <p>This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.</p>
 *          <p>CloudTrail is a web service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket.
 *          The recorded information includes the identity of the user, the start time of the Amazon Web Services API call, the source IP address, the request parameters, and the response elements returned by the service.</p>
 *
 *          <note>
 *             <p>As an alternative to the API,
 *             you can use one of the Amazon Web Services SDKs, which consist of libraries and sample code for various
 *          programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs
 *          provide programmatic access to CloudTrail. For example, the SDKs
 *          handle cryptographically signing requests, managing errors, and retrying requests
 *          automatically. For more information about the Amazon Web Services SDKs, including how to download and install
 *             them, see <a href="http://aws.amazon.com/tools/">Tools to Build on Amazon Web Services</a>.</p>
 *          </note>
 *          <p>See the <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html">CloudTrail User
 *          Guide</a> for information about the data that is included with each Amazon Web Services API call listed in the log files.</p>
 */ export class CloudTrail extends CloudTrailClient { /**
     * <p>Adds one or more tags to a trail, up to a limit of 50. Overwrites an existing tag's value when a new value is specified for an existing tag key.
     *          Tag key names must be unique for a trail; you cannot have two keys with the same name but different values.
     *           If you specify a key without a value, the tag will be created with the specified key and a value of null.
     *           You can tag a trail that applies to all Amazon Web Services Regions only from the Region in which the trail was created (also known as its home region).</p>
     */ public addTags ( args , options ? ) ; public addTags ( args , cb ) ; public addTags ( args , options , cb ) ; public addTags ( args , optionsOrCb ? , cb ? ) { const command = new AddTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Cancels a query if the query is not in a terminated state, such as <code>CANCELLED</code>, <code>FAILED</code> or <code>FINISHED</code>. You must specify an ARN value for <code>EventDataStore</code>.
     *          The ID of the query that you want to cancel is also required. When you run <code>CancelQuery</code>, the query status might
     *          show as <code>CANCELLED</code> even if the operation is not yet finished.</p>
     */ public cancelQuery ( args , options ? ) ; public cancelQuery ( args , cb ) ; public cancelQuery ( args , options , cb ) ; public cancelQuery ( args , optionsOrCb ? , cb ? ) { const command = new CancelQueryCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a new event data store.</p>
     */ public createEventDataStore ( args , options ? ) ; public createEventDataStore ( args , cb ) ; public createEventDataStore ( args , options , cb ) ; public createEventDataStore ( args , optionsOrCb ? , cb ? ) { const command = new CreateEventDataStoreCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.
     *          </p>
     */ public createTrail ( args , options ? ) ; public createTrail ( args , cb ) ; public createTrail ( args , options , cb ) ; public createTrail ( args , optionsOrCb ? , cb ? ) { const command = new CreateTrailCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Disables the event data store specified by <code>EventDataStore</code>, which accepts an event data store ARN.
     *          After you run <code>DeleteEventDataStore</code>, the event data store is automatically deleted after a wait period of
     *          seven days. <code>TerminationProtectionEnabled</code> must be set to <code>False</code> on the event data store; this
     *          operation cannot work if <code>TerminationProtectionEnabled</code> is <code>True</code>.</p>
     *          <p>After you run <code>DeleteEventDataStore</code> on an event data store, you cannot run <code>ListQueries</code>,
     *          <code>DescribeQuery</code>, or <code>GetQueryResults</code> on queries that are using an event data store in a
     *          <code>PENDING_DELETION</code> state.</p>
     */ public deleteEventDataStore ( args , options ? ) ; public deleteEventDataStore ( args , cb ) ; public deleteEventDataStore ( args , options , cb ) ; public deleteEventDataStore ( args , optionsOrCb ? , cb ? ) { const command = new DeleteEventDataStoreCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Deletes a trail. This operation must be called from the region in which the trail was
     *          created. <code>DeleteTrail</code> cannot be called on the shadow trails (replicated trails
     *          in other regions) of a trail that is enabled in all regions.</p>
     */ public deleteTrail ( args , options ? ) ; public deleteTrail ( args , cb ) ; public deleteTrail ( args , options , cb ) ; public deleteTrail ( args , optionsOrCb ? , cb ? ) { const command = new DeleteTrailCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns metadata about a query, including query run time in milliseconds, number of events scanned and matched, and query
     *          status. You must specify an ARN for <code>EventDataStore</code>, and a value for <code>QueryID</code>.</p>
     */ public describeQuery ( args , options ? ) ; public describeQuery ( args , cb ) ; public describeQuery ( args , options , cb ) ; public describeQuery ( args , optionsOrCb ? , cb ? ) { const command = new DescribeQueryCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Retrieves settings for one or more trails associated with the current region for your account.</p>
     */ public describeTrails ( args , options ? ) ; public describeTrails ( args , cb ) ; public describeTrails ( args , options , cb ) ; public describeTrails ( args , optionsOrCb ? , cb ? ) { const command = new DescribeTrailsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about an event data store specified as either an ARN or the ID portion of the ARN.</p>
     */ public getEventDataStore ( args , options ? ) ; public getEventDataStore ( args , cb ) ; public getEventDataStore ( args , options , cb ) ; public getEventDataStore ( args , optionsOrCb ? , cb ? ) { const command = new GetEventDataStoreCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Describes the settings for the event selectors that you configured for your trail.
     *          The information returned for your event selectors includes the following:</p>
     *          <ul>
     *             <li>
     *                <p>If your event selector includes read-only events, write-only events, or
     *             all events. This applies to both management events and data events.</p>
     *             </li>
     *             <li>
     *                <p>If your event selector includes management events.</p>
     *             </li>
     *             <li>
     *                <p>If your event selector includes data events, the resources on which you are logging data
     *                events.</p>
     *             </li>
     *          </ul>
     *          <p>For more information, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html">Logging Data and Management Events for Trails
     *       </a> in the <i>CloudTrail User Guide</i>.</p>
     */ public getEventSelectors ( args , options ? ) ; public getEventSelectors ( args , cb ) ; public getEventSelectors ( args , options , cb ) ; public getEventSelectors ( args , optionsOrCb ? , cb ? ) { const command = new GetEventSelectorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Describes the settings for the Insights event selectors that you configured for your trail. <code>GetInsightSelectors</code> shows
     *          if CloudTrail Insights event logging is enabled on the trail, and if it is, which insight types are enabled.
     *          If you run <code>GetInsightSelectors</code> on a trail that does not have Insights events enabled, the operation throws the exception
     *          <code>InsightNotEnabledException</code>
     *          </p>
     *          <p>For more information, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-insights-events-with-cloudtrail.html">Logging CloudTrail Insights Events for Trails
     *       </a> in the <i>CloudTrail User Guide</i>.</p>
     */ public getInsightSelectors ( args , options ? ) ; public getInsightSelectors ( args , cb ) ; public getInsightSelectors ( args , options , cb ) ; public getInsightSelectors ( args , optionsOrCb ? , cb ? ) { const command = new GetInsightSelectorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Gets event data results of a query. You must specify the <code>QueryID</code> value returned by the <code>StartQuery</code>
     *          operation, and an ARN for <code>EventDataStore</code>.</p>
     */ public getQueryResults ( args , options ? ) ; public getQueryResults ( args , cb ) ; public getQueryResults ( args , options , cb ) ; public getQueryResults ( args , optionsOrCb ? , cb ? ) { const command = new GetQueryResultsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns settings information for a specified trail.</p>
     */ public getTrail ( args , options ? ) ; public getTrail ( args , cb ) ; public getTrail ( args , options , cb ) ; public getTrail ( args , optionsOrCb ? , cb ? ) { const command = new GetTrailCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a JSON-formatted list of information about the specified trail. Fields include information on delivery errors, Amazon SNS and Amazon S3 errors, and start and stop logging times for each trail. This operation returns trail status from a single region. To return trail status from all regions, you must call the operation on each region.</p>
     */ public getTrailStatus ( args , options ? ) ; public getTrailStatus ( args , cb ) ; public getTrailStatus ( args , options , cb ) ; public getTrailStatus ( args , optionsOrCb ? , cb ? ) { const command = new GetTrailStatusCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns information about all event data stores in the account, in the current region.</p>
     */ public listEventDataStores ( args , options ? ) ; public listEventDataStores ( args , cb ) ; public listEventDataStores ( args , options , cb ) ; public listEventDataStores ( args , optionsOrCb ? , cb ? ) { const command = new ListEventDataStoresCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns all public keys whose private keys were used to sign the digest files within the specified time range. The public key is needed to validate digest files that were signed with its corresponding private key.</p>
     *          <note>
     *             <p>CloudTrail uses different private and public key pairs per region. Each digest file is signed with a private key
     *             unique to its region. When you validate a digest file from a specific region, you must look in the same region for its
     *             corresponding public key.</p>
     *          </note>
     */ public listPublicKeys ( args , options ? ) ; public listPublicKeys ( args , cb ) ; public listPublicKeys ( args , options , cb ) ; public listPublicKeys ( args , optionsOrCb ? , cb ? ) { const command = new ListPublicKeysCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Returns a list of queries and query statuses for the past seven days. You must specify an ARN value for
     *          <code>EventDataStore</code>. Optionally, to shorten the list of results, you can specify a time range,
     *          formatted as timestamps, by adding <code>StartTime</code> and <code>EndTime</code> parameters, and a
     *          <code>QueryStatus</code> value. Valid values for <code>QueryStatus</code> include <code>QUEUED</code>, <code>RUNNING</code>,
     *          <code>FINISHED</code>, <code>FAILED</code>, or <code>CANCELLED</code>.</p>
     */ public listQueries ( args , options ? ) ; public listQueries ( args , cb ) ; public listQueries ( args , options , cb ) ; public listQueries ( args , optionsOrCb ? , cb ? ) { const command = new ListQueriesCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists the tags for the trail in the current region.</p>
     */ public listTags ( args , options ? ) ; public listTags ( args , cb ) ; public listTags ( args , options , cb ) ; public listTags ( args , optionsOrCb ? , cb ? ) { const command = new ListTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lists trails that are in the current account.</p>
     */ public listTrails ( args , options ? ) ; public listTrails ( args , cb ) ; public listTrails ( args , options , cb ) ; public listTrails ( args , optionsOrCb ? , cb ? ) { const command = new ListTrailsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Looks up <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-management-events">management events</a> or
     *          <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html#cloudtrail-concepts-insights-events">CloudTrail Insights events</a> that are captured by CloudTrail.
     *          You can look up events that occurred in a region within the last 90 days. Lookup supports the following attributes for management events:</p>
     *          <ul>
     *             <li>
     *                <p>Amazon Web Services access key</p>
     *             </li>
     *             <li>
     *                <p>Event ID</p>
     *             </li>
     *             <li>
     *                <p>Event name</p>
     *             </li>
     *             <li>
     *                <p>Event source</p>
     *             </li>
     *             <li>
     *                <p>Read only</p>
     *             </li>
     *             <li>
     *                <p>Resource name</p>
     *             </li>
     *             <li>
     *                <p>Resource type</p>
     *             </li>
     *             <li>
     *                <p>User name</p>
     *             </li>
     *          </ul>
     *          <p>Lookup supports the following attributes for Insights events:</p>
     *          <ul>
     *             <li>
     *                <p>Event ID</p>
     *             </li>
     *             <li>
     *                <p>Event name</p>
     *             </li>
     *             <li>
     *                <p>Event source</p>
     *             </li>
     *          </ul>
     *          <p>All attributes are optional. The default number of results returned is 50, with a
     *          maximum of 50 possible. The response includes a token that you can use to get the next page
     *          of results.</p>
     *          <important>
     *             <p>The rate of lookup requests is limited to two per second, per account, per region. If this
     *             limit is exceeded, a throttling error occurs.</p>
     *          </important>
     */ public lookupEvents ( args , options ? ) ; public lookupEvents ( args , cb ) ; public lookupEvents ( args , options , cb ) ; public lookupEvents ( args , optionsOrCb ? , cb ? ) { const command = new LookupEventsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Configures an event selector or advanced event selectors for your trail.
     *          Use event selectors or advanced event selectors to specify management and data event settings for your trail. By
     *          default, trails created without specific event selectors are configured to log all read and
     *          write management events, and no data events.</p>
     *          <p>When an event occurs in your account, CloudTrail
     *          evaluates the event selectors or advanced event selectors in all trails. For each trail, if the event matches
     *          any event selector, the trail processes and logs the event. If the event doesn't match any event
     *          selector, the trail doesn't log the event.</p>
     *          <p>Example</p>
     *          <ol>
     *             <li>
     *                <p>You create an event selector for a trail and specify that you want
     *                write-only events.</p>
     *             </li>
     *             <li>
     *                <p>The EC2 <code>GetConsoleOutput</code> and <code>RunInstances</code> API
     *                operations occur in your account.</p>
     *             </li>
     *             <li>
     *                <p>CloudTrail evaluates whether the events match your event
     *                selectors.</p>
     *             </li>
     *             <li>
     *                <p>The <code>RunInstances</code> is a write-only event and it matches your
     *                event selector. The trail logs the event.</p>
     *             </li>
     *             <li>
     *                <p>The <code>GetConsoleOutput</code> is a read-only event that doesn't
     *                match your event selector. The trail doesn't log the event.
     *          </p>
     *             </li>
     *          </ol>
     *          <p>The <code>PutEventSelectors</code> operation must be called from the region in which
     *          the trail was created; otherwise, an <code>InvalidHomeRegionException</code> exception is
     *          thrown.</p>
     *          <p>You can configure up to five event selectors for each trail. For more information, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-and-data-events-with-cloudtrail.html">Logging data and management events for trails
     *       </a> and <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/WhatIsCloudTrail-Limits.html">Quotas in CloudTrail</a>
     *          in the <i>CloudTrail User Guide</i>.</p>
     *          <p>You can add advanced event selectors, and conditions for your advanced
     *          event selectors, up to a maximum of 500 values for all conditions and selectors on a trail.
     *          You can use either <code>AdvancedEventSelectors</code> or <code>EventSelectors</code>, but not both. If you apply <code>AdvancedEventSelectors</code>
     *          to a trail, any existing <code>EventSelectors</code> are overwritten. For more information about
     *          advanced event selectors, see
     *          <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html">Logging
     *             data events for trails</a> in the <i>CloudTrail User Guide</i>.</p>
     */ public putEventSelectors ( args , options ? ) ; public putEventSelectors ( args , cb ) ; public putEventSelectors ( args , options , cb ) ; public putEventSelectors ( args , optionsOrCb ? , cb ? ) { const command = new PutEventSelectorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Lets you enable Insights event logging by specifying the Insights
     *          selectors that you want to enable on an existing trail. You also use
     *          <code>PutInsightSelectors</code> to turn off Insights event logging, by passing an empty list of insight types.
     *          The valid Insights event types in this release are <code>ApiErrorRateInsight</code> and <code>ApiCallRateInsight</code>.</p>
     */ public putInsightSelectors ( args , options ? ) ; public putInsightSelectors ( args , cb ) ; public putInsightSelectors ( args , options , cb ) ; public putInsightSelectors ( args , optionsOrCb ? , cb ? ) { const command = new PutInsightSelectorsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Removes the specified tags from a trail.</p>
     */ public removeTags ( args , options ? ) ; public removeTags ( args , cb ) ; public removeTags ( args , options , cb ) ; public removeTags ( args , optionsOrCb ? , cb ? ) { const command = new RemoveTagsCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Restores a deleted event data store specified by <code>EventDataStore</code>, which accepts an event data store ARN.
     *          You can only restore a deleted event data store within the seven-day wait period after deletion. Restoring an event data store
     *          can take several minutes, depending on the size of the event data store.</p>
     */ public restoreEventDataStore ( args , options ? ) ; public restoreEventDataStore ( args , cb ) ; public restoreEventDataStore ( args , options , cb ) ; public restoreEventDataStore ( args , optionsOrCb ? , cb ? ) { const command = new RestoreEventDataStoreCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Starts the recording of Amazon Web Services API calls and log file delivery for a trail. For a trail that is enabled in all regions, this operation must be called from the region in which the trail was created. This operation cannot be called on the shadow trails (replicated trails in other regions) of a trail that is enabled in all regions.</p>
     */ public startLogging ( args , options ? ) ; public startLogging ( args , cb ) ; public startLogging ( args , options , cb ) ; public startLogging ( args , optionsOrCb ? , cb ? ) { const command = new StartLoggingCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Starts a CloudTrail Lake query. The required <code>QueryStatement</code>
     *          parameter provides your SQL query, enclosed in single quotation marks.</p>
     */ public startQuery ( args , options ? ) ; public startQuery ( args , cb ) ; public startQuery ( args , options , cb ) ; public startQuery ( args , optionsOrCb ? , cb ? ) { const command = new StartQueryCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Suspends the recording of Amazon Web Services API calls and log file delivery for the specified trail.
     *          Under most circumstances, there is no need to use this action. You can update a trail
     *          without stopping it first. This action is the only way to stop recording. For a trail
     *          enabled in all regions, this operation must be called from the region in which the trail
     *          was created, or an <code>InvalidHomeRegionException</code> will occur. This operation
     *          cannot be called on the shadow trails (replicated trails in other regions) of a trail
     *          enabled in all regions.</p>
     */ public stopLogging ( args , options ? ) ; public stopLogging ( args , cb ) ; public stopLogging ( args , options , cb ) ; public stopLogging ( args , optionsOrCb ? , cb ? ) { const command = new StopLoggingCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates an event data store. The required <code>EventDataStore</code> value is an ARN or the ID portion of the ARN.
     *          Other parameters are optional, but at least one optional parameter must be specified, or CloudTrail throws an error.
     *          <code>RetentionPeriod</code> is in days, and valid values are integers between 90 and 2555.
     *          By default, <code>TerminationProtection</code> is enabled. <code>AdvancedEventSelectors</code> includes or excludes management
     *          and data events in your event data store; for more information about <code>AdvancedEventSelectors</code>, see
     *          <a>PutEventSelectorsRequest$AdvancedEventSelectors</a>.</p>
     */ public updateEventDataStore ( args , options ? ) ; public updateEventDataStore ( args , cb ) ; public updateEventDataStore ( args , options , cb ) ; public updateEventDataStore ( args , optionsOrCb ? , cb ? ) { const command = new UpdateEventDataStoreCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } /**
     * <p>Updates trail settings that control what events you are logging, and how to handle log files. Changes to a trail do not require
     *          stopping the CloudTrail service. Use this action to designate an existing bucket for log
     *          delivery. If the existing bucket has previously been a target for CloudTrail log files,
     *          an IAM policy exists for the bucket. <code>UpdateTrail</code> must be called from the
     *          region in which the trail was created; otherwise, an
     *             <code>InvalidHomeRegionException</code> is thrown.</p>
     */ public updateTrail ( args , options ? ) ; public updateTrail ( args , cb ) ; public updateTrail ( args , options , cb ) ; public updateTrail ( args , optionsOrCb ? , cb ? ) { const command = new UpdateTrailCommand ( args ) ; if ( typeof optionsOrCb === "function" ) { this . send ( command , optionsOrCb ) ; } else if ( typeof cb === "function" ) { if ( typeof optionsOrCb !== "object" ) throw new Error ( `Expect http options but get ${ typeof optionsOrCb }` ) ; this . send ( command , optionsOrCb || { } , cb ) ; } else { return this . send ( command , optionsOrCb ) ; } } }