AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Classes

NameDescription
Class AddTagsRequest

Container for the parameters to the AddTags operation. Adds one or more tags to a trail, up to a limit of 50. Tags must be unique per trail. Overwrites an existing tag's value when a new value is specified for an existing tag key. 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 regions only from the region in which the trail was created (that is, from its home region).

Class AddTagsResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class CloudTrailARNInvalidException

CloudTrail exception

Class CloudWatchLogsDeliveryUnavailableException

CloudTrail exception

Class CreateTrailRequest

Container for the parameters to the CreateTrail operation. Creates a trail that specifies the settings for delivery of log data to an Amazon S3 bucket. A maximum of five trails can exist in a region, irrespective of the region in which they were created.

Class CreateTrailResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class DataResource

The Amazon S3 buckets or AWS Lambda functions that you specify in your event selectors for your trail to log data events. Data events provide insight into the resource operations performed on or within a resource itself. These are also known as data plane operations. You can specify up to 250 data resources for a trail.

The total number of allowed data resources is 250. This number can be distributed between 1 and 5 event selectors, but the total cannot exceed 250 across all selectors.

The following example demonstrates how logging works when you configure logging of all data events for an S3 bucket named bucket-1. In this example, the CloudTrail user spcified an empty prefix, and the option to log both Read and Write data events.

  1. A user uploads an image file to bucket-1.

  2. The PutObject API operation is an Amazon S3 object-level API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified an S3 bucket with an empty prefix, events that occur on any object in that bucket are logged. The trail processes and logs the event.

  3. A user uploads an object to an Amazon S3 bucket named arn:aws:s3:::bucket-2.

  4. The PutObject API operation occurred for an object in an S3 bucket that the CloudTrail user didn't specify for the trail. The trail doesn’t log the event.

The following example demonstrates how logging works when you configure logging of AWS Lambda data events for a Lambda function named MyLambdaFunction, but not for all AWS Lambda functions.

  1. A user runs a script that includes a call to the MyLambdaFunction function and the MyOtherLambdaFunction function.

  2. The Invoke API operation on MyLambdaFunction is an AWS Lambda API. It is recorded as a data event in CloudTrail. Because the CloudTrail user specified logging data events for MyLambdaFunction, any invocations of that function are logged. The trail processes and logs the event.

  3. The Invoke API operation on MyOtherLambdaFunction is an AWS Lambda API. Because the CloudTrail user did not specify logging data events for all Lambda functions, the Invoke operation for MyOtherLambdaFunction does not match the function specified for the trail. The trail doesn’t log the event.

Class DeleteTrailRequest

Container for the parameters to the DeleteTrail operation. 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.

Class DeleteTrailResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class DescribeTrailsRequest

Container for the parameters to the DescribeTrails operation. Retrieves settings for the trail associated with the current region for your account.

Class DescribeTrailsResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class Event

Contains information about an event that was returned by a lookup request. The result includes a representation of a CloudTrail event.

Class EventSelector

Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events. When an event occurs in your account, CloudTrail evaluates the event selector for 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.

You can configure up to five event selectors for a trail.

Class GetEventSelectorsRequest

Container for the parameters to the GetEventSelectors operation. Describes the settings for the event selectors that you configured for your trail. The information returned for your event selectors includes the following:

  • If your event selector includes read-only events, write-only events, or all events. This applies to both management events and data events.

  • If your event selector includes management events.

  • If your event selector includes data events, the Amazon S3 objects or AWS Lambda functions that you are logging for data events.

For more information, see Logging Data and Management Events for Trails in the AWS CloudTrail User Guide.

Class GetEventSelectorsResponse

This is the response object from the GetEventSelectors operation.

Class GetTrailStatusRequest

Container for the parameters to the GetTrailStatus operation. 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.

Class GetTrailStatusResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class InsufficientEncryptionPolicyException

CloudTrail exception

Class InsufficientS3BucketPolicyException

CloudTrail exception

Class InsufficientSnsTopicPolicyException

CloudTrail exception

Class InvalidCloudWatchLogsLogGroupArnException

CloudTrail exception

Class InvalidCloudWatchLogsRoleArnException

CloudTrail exception

Class InvalidEventSelectorsException

CloudTrail exception

Class InvalidHomeRegionException

CloudTrail exception

Class InvalidKmsKeyIdException

CloudTrail exception

Class InvalidLookupAttributesException

CloudTrail exception

Class InvalidMaxResultsException

CloudTrail exception

Class InvalidNextTokenException

CloudTrail exception

Class InvalidParameterCombinationException

CloudTrail exception

Class InvalidS3BucketNameException

CloudTrail exception

Class InvalidS3PrefixException

CloudTrail exception

Class InvalidSnsTopicNameException

CloudTrail exception

Class InvalidTagParameterException

CloudTrail exception

Class InvalidTimeRangeException

CloudTrail exception

Class InvalidTokenException

CloudTrail exception

Class InvalidTrailNameException

CloudTrail exception

Class KmsException

CloudTrail exception

Class KmsKeyDisabledException

CloudTrail exception

Class KmsKeyNotFoundException

CloudTrail exception

Class ListPublicKeysRequest

Container for the parameters to the ListPublicKeys operation. 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.

CloudTrail uses different private/public key pairs per region. Each digest file is signed with a private key unique to its region. Therefore, when you validate a digest file from a particular region, you must look in the same region for its corresponding public key.

Class ListPublicKeysResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class ListTagsRequest

Container for the parameters to the ListTags operation. Lists the tags for the trail in the current region.

Class ListTagsResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class LookupAttribute

Specifies an attribute and value that filter the events returned.

Class LookupEventsRequest

Container for the parameters to the LookupEvents operation. Looks up management events captured by CloudTrail. Events for a region can be looked up in that region during the last 90 days. Lookup supports the following attributes:

  • AWS access key

  • Event ID

  • Event name

  • Event source

  • Read only

  • Resource name

  • Resource type

  • User name

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.

The rate of lookup requests is limited to one per second per account. If this limit is exceeded, a throttling error occurs.

Events that occurred during the selected time range will not be available for lookup if CloudTrail logging was not enabled when the events occurred.

Class LookupEventsResponse

Contains a response to a LookupEvents action.

Class MaximumNumberOfTrailsExceededException

CloudTrail exception

Class OperationNotPermittedException

CloudTrail exception

Class PublicKey

Contains information about a returned public key.

Class PutEventSelectorsRequest

Container for the parameters to the PutEventSelectors operation. Configures an event selector for your trail. Use event selectors to further specify the management and data event settings for your trail. By default, trails created without specific event selectors will be configured to log all read and write management events, and no data events.

When an event occurs in your account, CloudTrail evaluates the 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.

Example

  1. You create an event selector for a trail and specify that you want write-only events.

  2. The EC2 GetConsoleOutput and RunInstances API operations occur in your account.

  3. CloudTrail evaluates whether the events match your event selectors.

  4. The RunInstances is a write-only event and it matches your event selector. The trail logs the event.

  5. The GetConsoleOutput is a read-only event but it doesn't match your event selector. The trail doesn't log the event.

The PutEventSelectors operation must be called from the region in which the trail was created; otherwise, an InvalidHomeRegionException is thrown.

You can configure up to five event selectors for each trail. For more information, see Logging Data and Management Events for Trails and Limits in AWS CloudTrail in the AWS CloudTrail User Guide.

Class PutEventSelectorsResponse

This is the response object from the PutEventSelectors operation.

Class RemoveTagsRequest

Container for the parameters to the RemoveTags operation. Removes the specified tags from a trail.

Class RemoveTagsResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class Resource

Specifies the type and name of a resource referenced by an event.

Class ResourceNotFoundException

CloudTrail exception

Class ResourceTag

A resource tag.

Class ResourceTypeNotSupportedException

CloudTrail exception

Class S3BucketDoesNotExistException

CloudTrail exception

Class StartLoggingRequest

Container for the parameters to the StartLogging operation. Starts the recording of AWS 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.

Class StartLoggingResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class StopLoggingRequest

Container for the parameters to the StopLogging operation. Suspends the recording of AWS 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.

Class StopLoggingResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.

Class Tag

A custom key-value pair associated with a resource such as a CloudTrail trail.

Class TagsLimitExceededException

CloudTrail exception

Class Trail

The settings for a trail.

Class TrailAlreadyExistsException

CloudTrail exception

Class TrailNotFoundException

CloudTrail exception

Class TrailNotProvidedException

CloudTrail exception

Class UnsupportedOperationException

CloudTrail exception

Class UpdateTrailRequest

Container for the parameters to the UpdateTrail operation. Updates the settings that specify delivery of 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.

Class UpdateTrailResponse

Returns the objects or data listed below if successful. Otherwise, returns an error.