CloudTrail class

This is the CloudTrail API Reference. It provides descriptions of actions, data types, common parameters, and common errors for CloudTrail.

Constructors

CloudTrail({required String region, AwsClientCredentials? credentials, AwsClientCredentialsProvider? credentialsProvider, Client? client, String? endpointUrl})

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

addTags({required String resourceId, required List<Tag> tagsList}) Future<void>
Adds one or more tags to a trail, event data store, dashboard, or channel, 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; 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 or event data store that applies to all Amazon Web Services Regions only from the Region in which the trail or event data store was created (also known as its home Region).
cancelQuery({required String queryId, String? eventDataStore, String? eventDataStoreOwnerAccountId}) Future<CancelQueryResponse>
Cancels a query if the query is not in a terminated state, such as CANCELLED, FAILED, TIMED_OUT, or FINISHED. You must specify an ARN value for EventDataStore. The ID of the query that you want to cancel is also required. When you run CancelQuery, the query status might show as CANCELLED even if the operation is not yet finished.
close() → void
Closes the internal HTTP client if none was provided at creation. If a client was passed as a constructor argument, this becomes a noop.
createChannel({required List<Destination> destinations, required String name, required String source, List<Tag>? tags}) Future<CreateChannelResponse>
Creates a channel for CloudTrail to ingest events from a partner or external source. After you create a channel, a CloudTrail Lake event data store can log events from the partner or source that you specify.
createDashboard({required String name, RefreshSchedule? refreshSchedule, List<Tag>? tagsList, bool? terminationProtectionEnabled, List<RequestWidget>? widgets}) Future<CreateDashboardResponse>
Creates a custom dashboard or the Highlights dashboard.
createEventDataStore({required String name, List<AdvancedEventSelector>? advancedEventSelectors, BillingMode? billingMode, String? kmsKeyId, bool? multiRegionEnabled, bool? organizationEnabled, int? retentionPeriod, bool? startIngestion, List<Tag>? tagsList, bool? terminationProtectionEnabled}) Future<CreateEventDataStoreResponse>
Creates a new event data store.
createTrail({required String name, required String s3BucketName, String? cloudWatchLogsLogGroupArn, String? cloudWatchLogsRoleArn, bool? enableLogFileValidation, bool? includeGlobalServiceEvents, bool? isMultiRegionTrail, bool? isOrganizationTrail, String? kmsKeyId, String? s3KeyPrefix, String? snsTopicName, List<Tag>? tagsList}) Future<CreateTrailResponse>
Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket.
deleteChannel({required String channel}) Future<void>
Deletes a channel.
deleteDashboard({required String dashboardId}) Future<void>
Deletes the specified dashboard. You cannot delete a dashboard that has termination protection enabled.
deleteEventDataStore({required String eventDataStore}) Future<void>
Disables the event data store specified by EventDataStore, which accepts an event data store ARN. After you run DeleteEventDataStore, the event data store enters a PENDING_DELETION state, and is automatically deleted after a wait period of seven days. TerminationProtectionEnabled must be set to False on the event data store and the FederationStatus must be DISABLED. You cannot delete an event data store if TerminationProtectionEnabled is True or the FederationStatus is ENABLED.
deleteResourcePolicy({required String resourceArn}) Future<void>
Deletes the resource-based policy attached to the CloudTrail event data store, dashboard, or channel.
deleteTrail({required String name}) Future<void>
Deletes a trail. This operation must be called from the Region in which the trail was created. DeleteTrail cannot be called on the shadow trails (replicated trails in other Regions) of a trail that is enabled in all Regions.
deregisterOrganizationDelegatedAdmin({required String delegatedAdminAccountId}) Future<void>
Removes CloudTrail delegated administrator permissions from a member account in an organization.
describeQuery({String? eventDataStore, String? eventDataStoreOwnerAccountId, String? queryAlias, String? queryId, String? refreshId}) Future<DescribeQueryResponse>
Returns metadata about a query, including query run time in milliseconds, number of events scanned and matched, and query status. If the query results were delivered to an S3 bucket, the response also provides the S3 URI and the delivery status.
describeTrails({bool? includeShadowTrails, List<String>? trailNameList}) Future<DescribeTrailsResponse>
Retrieves settings for one or more trails associated with the current Region for your account.
disableFederation({required String eventDataStore}) Future<DisableFederationResponse>
Disables Lake query federation on the specified event data store. When you disable federation, CloudTrail disables the integration with Glue, Lake Formation, and Amazon Athena. After disabling Lake query federation, you can no longer query your event data in Amazon Athena.
enableFederation({required String eventDataStore, required String federationRoleArn}) Future<EnableFederationResponse>
Enables Lake query federation on the specified event data store. Federating an event data store lets you view the metadata associated with the event data store in the Glue Data Catalog and run SQL queries against your event data using Amazon Athena. The table metadata stored in the Glue Data Catalog lets the Athena query engine know how to find, read, and process the data that you want to query.
generateQuery({required List<String> eventDataStores, required String prompt}) Future<GenerateQueryResponse>
Generates a query from a natural language prompt. This operation uses generative artificial intelligence (generative AI) to produce a ready-to-use SQL query from the prompt.
getChannel({required String channel}) Future<GetChannelResponse>
Returns information about a specific channel.
getDashboard({required String dashboardId}) Future<GetDashboardResponse>
Returns the specified dashboard.
getEventConfiguration({String? eventDataStore, String? trailName}) Future<GetEventConfigurationResponse>
Retrieves the current event configuration settings for the specified event data store or trail. The response includes maximum event size configuration, the context key selectors configured for the event data store, and any aggregation settings configured for the trail.
getEventDataStore({required String eventDataStore}) Future<GetEventDataStoreResponse>
Returns information about an event data store specified as either an ARN or the ID portion of the ARN.
getEventSelectors({required String trailName}) Future<GetEventSelectorsResponse>
Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:
getImport({required String importId}) Future<GetImportResponse>
Returns information about a specific import.
getInsightSelectors({String? eventDataStore, String? trailName}) Future<GetInsightSelectorsResponse>
Describes the settings for the Insights event selectors that you configured for your trail or event data store. GetInsightSelectors shows if CloudTrail Insights logging is enabled and which Insights types are configured with corresponding event categories. If you run GetInsightSelectors on a trail or event data store that does not have Insights events enabled, the operation throws the exception InsightNotEnabledException
getQueryResults({required String queryId, String? eventDataStore, String? eventDataStoreOwnerAccountId, int? maxQueryResults, String? nextToken}) Future<GetQueryResultsResponse>
Gets event data results of a query. You must specify the QueryID value returned by the StartQuery operation.
getResourcePolicy({required String resourceArn}) Future<GetResourcePolicyResponse>
Retrieves the JSON text of the resource-based policy document attached to the CloudTrail event data store, dashboard, or channel.
getTrail({required String name}) Future<GetTrailResponse>
Returns settings information for a specified trail.
getTrailStatus({required String name}) Future<GetTrailStatusResponse>
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.
listChannels({int? maxResults, String? nextToken}) Future<ListChannelsResponse>
Lists the channels in the current account, and their source names.
listDashboards({int? maxResults, String? namePrefix, String? nextToken, DashboardType? type}) Future<ListDashboardsResponse>
Returns information about all dashboards in the account, in the current Region.
listEventDataStores({int? maxResults, String? nextToken}) Future<ListEventDataStoresResponse>
Returns information about all event data stores in the account, in the current Region.
listImportFailures({required String importId, int? maxResults, String? nextToken}) Future<ListImportFailuresResponse>
Returns a list of failures for the specified import.
listImports({String? destination, ImportStatus? importStatus, int? maxResults, String? nextToken}) Future<ListImportsResponse>
Returns information on all imports, or a select set of imports by ImportStatus or Destination.
listInsightsData({required ListInsightsDataType dataType, required String insightSource, Map<ListInsightsDataDimensionKey, String>? dimensions, DateTime? endTime, int? maxResults, String? nextToken, DateTime? startTime}) Future<ListInsightsDataResponse>
Returns Insights events generated on a trail that logs data events. You can list Insights events that occurred in a Region within the last 90 days.
listInsightsMetricData({required String eventName, required String eventSource, required InsightType insightType, InsightsMetricDataType? dataType, DateTime? endTime, String? errorCode, int? maxResults, String? nextToken, int? period, DateTime? startTime, String? trailName}) Future<ListInsightsMetricDataResponse>
Returns Insights metrics data for trails that have enabled Insights. The request must include the EventSource, EventName, and InsightType parameters.
listPublicKeys({DateTime? endTime, String? nextToken, DateTime? startTime}) Future<ListPublicKeysResponse>
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.
listQueries({required String eventDataStore, DateTime? endTime, int? maxResults, String? nextToken, QueryStatus? queryStatus, DateTime? startTime}) Future<ListQueriesResponse>
Returns a list of queries and query statuses for the past seven days. You must specify an ARN value for EventDataStore. Optionally, to shorten the list of results, you can specify a time range, formatted as timestamps, by adding StartTime and EndTime parameters, and a QueryStatus value. Valid values for QueryStatus include QUEUED, RUNNING, FINISHED, FAILED, TIMED_OUT, or CANCELLED.
listTags({required List<String> resourceIdList, String? nextToken}) Future<ListTagsResponse>
Lists the tags for the specified trails, event data stores, dashboards, or channels in the current Region.
listTrails({String? nextToken}) Future<ListTrailsResponse>
Lists trails that are in the current account.
lookupEvents({DateTime? endTime, EventCategory? eventCategory, List<LookupAttribute>? lookupAttributes, int? maxResults, String? nextToken, DateTime? startTime}) Future<LookupEventsResponse>
Looks up management events or CloudTrail Insights events 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:
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
putEventConfiguration({List<AggregationConfiguration>? aggregationConfigurations, List<ContextKeySelector>? contextKeySelectors, String? eventDataStore, MaxEventSize? maxEventSize, String? trailName}) Future<PutEventConfigurationResponse>
Updates the event configuration settings for the specified event data store or trail. This operation supports updating the maximum event size, adding or modifying context key selectors for event data store, and configuring aggregation settings for the trail.
putEventSelectors({required String trailName, List<AdvancedEventSelector>? advancedEventSelectors, List<EventSelector>? eventSelectors}) Future<PutEventSelectorsResponse>
Configures event selectors (also referred to as basic event selectors) or advanced event selectors for your trail. You can use either AdvancedEventSelectors or EventSelectors, but not both. If you apply AdvancedEventSelectors to a trail, any existing EventSelectors are overwritten.
putInsightSelectors({required List<InsightSelector> insightSelectors, String? eventDataStore, String? insightsDestination, String? trailName}) Future<PutInsightSelectorsResponse>
Lets you enable Insights event logging on specific event categories by specifying the Insights selectors that you want to enable on an existing trail or event data store. You also use PutInsightSelectors to turn off Insights event logging, by passing an empty list of Insights types. The valid Insights event types are ApiErrorRateInsight and ApiCallRateInsight, and valid EventCategories are Management and Data. To enable Insights on an event data store, you must specify the ARNs (or ID suffix of the ARNs) for the source event data store (EventDataStore) and the destination event data store (InsightsDestination). The source event data store logs management events and enables Insights. The destination event data store logs Insights events based upon the management event activity of the source event data store. The source and destination event data stores must belong to the same Amazon Web Services account.
putResourcePolicy({required String resourceArn, required String resourcePolicy}) Future<PutResourcePolicyResponse>
Attaches a resource-based permission policy to a CloudTrail event data store, dashboard, or channel. For more information about resource-based policies, see CloudTrail resource-based policy examples in the CloudTrail User Guide.
registerOrganizationDelegatedAdmin({required String memberAccountId}) Future<void>
Registers an organization’s member account as the CloudTrail delegated administrator.
removeTags({required String resourceId, required List<Tag> tagsList}) Future<void>
Removes the specified tags from a trail, event data store, dashboard, or channel.
restoreEventDataStore({required String eventDataStore}) Future<RestoreEventDataStoreResponse>
Restores a deleted event data store specified by EventDataStore, 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.
searchSampleQueries({required String searchPhrase, int? maxResults, String? nextToken}) Future<SearchSampleQueriesResponse>
Searches sample queries and returns a list of sample queries that are sorted by relevance. To search for sample queries, provide a natural language SearchPhrase in English.
startDashboardRefresh({required String dashboardId, Map<String, String>? queryParameterValues}) Future<StartDashboardRefreshResponse>
Starts a refresh of the specified dashboard.
startEventDataStoreIngestion({required String eventDataStore}) Future<void>
Starts the ingestion of live events on an event data store specified as either an ARN or the ID portion of the ARN. To start ingestion, the event data store Status must be STOPPED_INGESTION and the eventCategory must be Management, Data, NetworkActivity, or ConfigurationItem.
startImport({List<String>? destinations, DateTime? endEventTime, String? importId, ImportSource? importSource, DateTime? startEventTime}) Future<StartImportResponse>
Starts an import of logged trail events from a source S3 bucket to a destination event data store. By default, CloudTrail only imports events contained in the S3 bucket's CloudTrail prefix and the prefixes inside the CloudTrail prefix, and does not check prefixes for other Amazon Web Services services. If you want to import CloudTrail events contained in another prefix, you must include the prefix in the S3LocationUri. For more considerations about importing trail events, see Considerations for copying trail events in the CloudTrail User Guide.
startLogging({required String name}) Future<void>
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.
startQuery({String? deliveryS3Uri, String? eventDataStoreOwnerAccountId, String? queryAlias, List<String>? queryParameters, String? queryStatement}) Future<StartQueryResponse>
Starts a CloudTrail Lake query. Use the QueryStatement parameter to provide your SQL query, enclosed in single quotation marks. Use the optional DeliveryS3Uri parameter to deliver the query results to an S3 bucket.
stopEventDataStoreIngestion({required String eventDataStore}) Future<void>
Stops the ingestion of live events on an event data store specified as either an ARN or the ID portion of the ARN. To stop ingestion, the event data store Status must be ENABLED and the eventCategory must be Management, Data, NetworkActivity, or ConfigurationItem.
stopImport({required String importId}) Future<StopImportResponse>
Stops a specified import.
stopLogging({required String name}) Future<void>
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 InvalidHomeRegionException will occur. This operation cannot be called on the shadow trails (replicated trails in other Regions) of a trail enabled in all Regions.
toString() String
A string representation of this object.
inherited
updateChannel({required String channel, List<Destination>? destinations, String? name}) Future<UpdateChannelResponse>
Updates a channel specified by a required channel ARN or UUID.
updateDashboard({required String dashboardId, RefreshSchedule? refreshSchedule, bool? terminationProtectionEnabled, List<RequestWidget>? widgets}) Future<UpdateDashboardResponse>
Updates the specified dashboard.
updateEventDataStore({required String eventDataStore, List<AdvancedEventSelector>? advancedEventSelectors, BillingMode? billingMode, String? kmsKeyId, bool? multiRegionEnabled, String? name, bool? organizationEnabled, int? retentionPeriod, bool? terminationProtectionEnabled}) Future<UpdateEventDataStoreResponse>
Updates an event data store. The required EventDataStore 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. RetentionPeriod is in days, and valid values are integers between 7 and 3653 if the BillingMode is set to EXTENDABLE_RETENTION_PRICING, or between 7 and 2557 if BillingMode is set to FIXED_RETENTION_PRICING. By default, TerminationProtection is enabled.
updateTrail({required String name, String? cloudWatchLogsLogGroupArn, String? cloudWatchLogsRoleArn, bool? enableLogFileValidation, bool? includeGlobalServiceEvents, bool? isMultiRegionTrail, bool? isOrganizationTrail, String? kmsKeyId, String? s3BucketName, String? s3KeyPrefix, String? snsTopicName}) Future<UpdateTrailResponse>
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. UpdateTrail must be called from the Region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

Operators

operator ==(Object other) bool
The equality operator.
inherited