amazonka-cloudtrail-1.3.6: Amazon CloudTrail SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.CloudTrail

Contents

Description

AWS CloudTrail

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

CloudTrail is a web service that records AWS API calls for your AWS account and delivers log files to an Amazon S3 bucket. The recorded information includes the identity of the user, the start time of the AWS API call, the source IP address, the request parameters, and the response elements returned by the service.

As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to AWSCloudTrail. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

See the CloudTrail User Guide for information about the data that is included with each AWS API call listed in the log files.

See: AWS API Reference

Synopsis

Service Configuration

cloudTrail :: Service Source

API version '2013-11-01' of the Amazon CloudTrail SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by CloudTrail.

InvalidTimeRangeException

_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError Source

Occurs if the timestamp values are invalid. Either the start time occurs after the end time or the time range is outside the range of possible values.

InsufficientS3BucketPolicyException

_InsufficientS3BucketPolicyException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the policy on the S3 bucket is not sufficient.

MaximumNumberOfTrailsExceededException

_MaximumNumberOfTrailsExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the maximum number of trails is reached.

UnsupportedOperationException

_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the requested operation is not supported. For example, this exception will occur if an attempt is made to tag a trail and tagging is not supported in the current region.

KMSKeyDisabledException

_KMSKeyDisabledException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the KMS key is disabled.

InsufficientEncryptionPolicyException

_InsufficientEncryptionPolicyException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the policy on the S3 bucket or KMS key is not sufficient.

InsufficientSNSTopicPolicyException

_InsufficientSNSTopicPolicyException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the policy on the SNS topic is not sufficient.

InvalidCloudWatchLogsRoleARNException

_InvalidCloudWatchLogsRoleARNException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided role is not valid.

TagsLimitExceededException

_TagsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

The number of tags per trail has exceeded the permitted amount. Currently, the limit is 10.

CloudTrailARNInvalidException

_CloudTrailARNInvalidException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when an operation is called with an invalid trail ARN. The format of a trail ARN is 'arn:aws:cloudtrail:us-east-1:123456789012:trail\/MyTrail'.

InvalidLookupAttributesException

_InvalidLookupAttributesException :: AsError a => Getting (First ServiceError) a ServiceError Source

Occurs when an invalid lookup attribute is specified.

InvalidTrailNameException

_InvalidTrailNameException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided trail name is not valid. Trail names must meet the following requirements:

  • Contain only ASCII letters (a-z, A-Z), numbers (0-9), periods (.), underscores (_), or dashes (-)
  • Start with a letter or number, and end with a letter or number
  • Be between 3 and 128 characters
  • Have no adjacent periods, underscores or dashes. Names like 'my-_namespace' and my are invalid.
  • Not be in IP address format (for example, 192.168.5.4)

InvalidSNSTopicNameException

_InvalidSNSTopicNameException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided SNS topic name is not valid.

ResourceTypeNotSupportedException

_ResourceTypeNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the specified resource type is not supported by CloudTrail.

CloudWatchLogsDeliveryUnavailableException

_CloudWatchLogsDeliveryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError Source

Cannot set a CloudWatch Logs delivery for this region.

KMSKeyNotFoundException

_KMSKeyNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the KMS key does not exist, or when the S3 bucket and the KMS key are not in the same region.

TrailNotFoundException

_TrailNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the trail with the given name is not found.

TrailNotProvidedException

InvalidS3BucketNameException

_InvalidS3BucketNameException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided S3 bucket name is not valid.

InvalidCloudWatchLogsLogGroupARNException

_InvalidCloudWatchLogsLogGroupARNException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided CloudWatch log group is not valid.

S3BucketDoesNotExistException

_S3BucketDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the specified S3 bucket does not exist.

InvalidNextTokenException

_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError Source

Invalid token or token that was previously used in a request with different parameters. This exception is thrown if the token is invalid.

InvalidTagParameterException

_InvalidTagParameterException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the key or value specified for the tag does not match the regular expression '^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-']*)$'.

OperationNotPermittedException

_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the requested operation is not permitted.

InvalidTokenException

InvalidMaxResultsException

_InvalidMaxResultsException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown if the limit specified is invalid.

TrailAlreadyExistsException

_TrailAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the specified trail already exists.

InvalidS3PrefixException

_InvalidS3PrefixException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the provided S3 prefix is not valid.

ResourceNotFoundException

_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the specified resource is not found.

InvalidKMSKeyIdException

_InvalidKMSKeyIdException :: AsError a => Getting (First ServiceError) a ServiceError Source

This exception is thrown when the KMS key ARN is invalid.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

DescribeTrails

ListPublicKeys

RemoveTags

LookupEvents

StopLogging

DeleteTrail

UpdateTrail

CreateTrail

GetTrailStatus

AddTags

ListTags

StartLogging

Types

LookupAttributeKey

Event

data Event Source

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

See: event smart constructor.

event :: Event Source

Creates a value of Event with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

eUsername :: Lens' Event (Maybe Text) Source

A user name or role name of the requester that called the API in the event returned.

eResources :: Lens' Event [Resource] Source

A list of resources referenced by the event returned.

eEventTime :: Lens' Event (Maybe UTCTime) Source

The date and time of the event returned.

eCloudTrailEvent :: Lens' Event (Maybe Text) Source

A JSON string that contains a representation of the event returned.

eEventName :: Lens' Event (Maybe Text) Source

The name of the event returned.

eEventId :: Lens' Event (Maybe Text) Source

The CloudTrail ID of the event returned.

LookupAttribute

lookupAttribute Source

Creates a value of LookupAttribute with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

laAttributeKey :: Lens' LookupAttribute LookupAttributeKey Source

Specifies an attribute on which to filter the events returned.

laAttributeValue :: Lens' LookupAttribute Text Source

Specifies a value for the specified AttributeKey.

PublicKey

data PublicKey Source

Contains information about a returned public key.

See: publicKey smart constructor.

publicKey :: PublicKey Source

Creates a value of PublicKey with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pkFingerprint :: Lens' PublicKey (Maybe Text) Source

The fingerprint of the public key.

pkValidityEndTime :: Lens' PublicKey (Maybe UTCTime) Source

The ending time of validity of the public key.

pkValue :: Lens' PublicKey (Maybe ByteString) Source

The DER encoded public key value in PKCS#1 format.

Note: This Lens automatically encodes and decodes Base64 data, despite what the AWS documentation might say. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

pkValidityStartTime :: Lens' PublicKey (Maybe UTCTime) Source

The starting time of validity of the public key.

Resource

data Resource Source

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

See: resource smart constructor.

resource :: Resource Source

Creates a value of Resource with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rResourceType :: Lens' Resource (Maybe Text) Source

The type of a resource referenced by the event returned. When the resource type cannot be determined, null is returned. Some examples of resource types are: Instance for EC2, Trail for CloudTrail, DBInstance for RDS, and AccessKey for IAM. For a list of resource types supported for event lookup, see Resource Types Supported for Event Lookup.

rResourceName :: Lens' Resource (Maybe Text) Source

The name of the resource referenced by the event returned. These are user-created names whose values will depend on the environment. For example, the resource name might be "auto-scaling-test-group" for an Auto Scaling Group or "i-1234567" for an EC2 Instance.

ResourceTag

resourceTag :: ResourceTag Source

Creates a value of ResourceTag with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rResourceId :: Lens' ResourceTag (Maybe Text) Source

Specifies the ARN of the resource.

rTagsList :: Lens' ResourceTag [Tag] Source

Undocumented member.

Tag

data Tag Source

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

See: tag smart constructor.

tag Source

Arguments

:: Text

tagKey

-> Tag 

Creates a value of Tag with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tagValue :: Lens' Tag (Maybe Text) Source

The value in a key-value pair of a tag. The value must be no longer than 256 Unicode characters.

tagKey :: Lens' Tag Text Source

The key in a key-value pair. The key must be must be no longer than 128 Unicode characters. The key must be unique for the resource to which it applies.

Trail

data Trail Source

The settings for a trail.

See: trail smart constructor.

trail :: Trail Source

Creates a value of Trail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

tLogFileValidationEnabled :: Lens' Trail (Maybe Bool) Source

Specifies whether log file validation is enabled.

tTrailARN :: Lens' Trail (Maybe Text) Source

The Amazon Resource Name of the trail. The TrailARN format is 'arn:aws:cloudtrail:us-east-1:123456789012:trail\/MyTrail'.

tS3KeyPrefix :: Lens' Trail (Maybe Text) Source

Specifies the Amazon S3 key prefix that comes after the name of the bucket you have designated for log file delivery. For more information, see Finding Your CloudTrail Log Files.The maximum length is 200 characters.

tSNSTopicName :: Lens' Trail (Maybe Text) Source

Name of the existing Amazon SNS topic that CloudTrail uses to notify the account owner when new CloudTrail log files have been delivered. The maximum length is 256 characters.

tCloudWatchLogsLogGroupARN :: Lens' Trail (Maybe Text) Source

Specifies an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.

tKMSKeyId :: Lens' Trail (Maybe Text) Source

Specifies the KMS key ID that encrypts the logs delivered by CloudTrail. The value is a fully specified ARN to a KMS key in the format:

'arn:aws:kms:us-east-1:123456789012:key\/12345678-1234-1234-1234-123456789012'

tName :: Lens' Trail (Maybe Text) Source

Name of the trail set by calling CreateTrail. The maximum length is 128 characters.

tIncludeGlobalServiceEvents :: Lens' Trail (Maybe Bool) Source

Set to True to include AWS API calls from AWS global services such as IAM. Otherwise, False.

tCloudWatchLogsRoleARN :: Lens' Trail (Maybe Text) Source

Specifies the role for the CloudWatch Logs endpoint to assume to write to a user's log group.

tS3BucketName :: Lens' Trail (Maybe Text) Source

Name of the Amazon S3 bucket into which CloudTrail delivers your trail files. See Amazon S3 Bucket Naming Requirements.