NOTE: For Version 3 of the AWS SDK for PHP, please see the V3 User Guide and V3 API Reference.

# Class LogRecordIterator

The `Aws\CloudTrail\LogRecordIterator` provides an easy way to iterate over log records from log files generated by AWS CloudTrail. CloudTrail log files contain data about your AWS API calls and are stored in Amazon S3 at a predictable path based on a bucket name, a key prefix, an account ID, a region, and date information. The files are gzipped and contain structured data in JSON format. This class allows you to specify options via its factory methods, including a date range, and emits each log record from any log files that match the provided options.

  Aws\CloudTrail\LogRecordIterator implements OuterIterator

Namespace: Aws\CloudTrail
Yields: Collection A log record containing data about an AWS API call is yielded for each iteration on this object
Located at Aws/CloudTrail/LogRecordIterator.php

## Methods summary

- `public static` `forTrail ( Aws\S3\S3Client $s3Client, Aws\CloudTrail\CloudTrailClient $cloudTrailClient, array $options = array() )`
- `public static` `forBucket ( Aws\S3\S3Client $s3Client, string $s3BucketName, array $options = array() )`
- `public static` `forFile ( Aws\S3\S3Client $s3Client, string $s3BucketName, string $s3ObjectKey )`
- `public` `__construct ( Aws\CloudTrail\LogFileReader $logFileReader, Iterator $logFileIterator )`
- `public` `current ( )`

  Returns the current log record as a Guzzle Collection object. This object behaves like an associative array except that it returns `null` on non-existent keys instead of causing an error. See the linked resources for the schema of the log record data and how to work with Guzzle Collections.

- `public` `next ( )`
- `public` `key ( )`
- `public` `valid ( )`
- `public` `rewind ( )`
- `public` `getInnerIterator ( )`

## Methods detail

# `public static `Aws\CloudTrail\LogRecordIterator``
`forTrail( `Aws\S3\S3Client` $s3Client, `Aws\CloudTrail\CloudTrailClient` $cloudTrailClient, array $options = array() )`

#### Parameters

$s3Client
  ``Aws\S3\S3Client``
  $s3Client
$cloudTrailClient
  ``Aws\CloudTrail\CloudTrailClient``
  $cloudTrailClient
$options
  `array`
  $options

#### Returns

``Aws\CloudTrail\LogRecordIterator``
# `public static `Aws\CloudTrail\LogRecordIterator``
`forBucket( `Aws\S3\S3Client` $s3Client, string $s3BucketName, array $options = array() )`

#### Parameters

$s3Client
  ``Aws\S3\S3Client``
  $s3Client
$s3BucketName
  `string`
  $s3BucketName
$options
  `array`
  $options

#### Returns

``Aws\CloudTrail\LogRecordIterator``
# `public static `Aws\CloudTrail\LogRecordIterator``
`forFile( `Aws\S3\S3Client` $s3Client, string $s3BucketName, string $s3ObjectKey )`

#### Parameters

$s3Client
  ``Aws\S3\S3Client``
  $s3Client
$s3BucketName
  `string`
  $s3BucketName
$s3ObjectKey
  `string`
  $s3ObjectKey

#### Returns

``Aws\CloudTrail\LogRecordIterator``
# `public`
`__construct( `Aws\CloudTrail\LogFileReader` $logFileReader, `Iterator` $logFileIterator )`

#### Parameters

$logFileReader
  ``Aws\CloudTrail\LogFileReader``
  $logFileReader
$logFileIterator
  ``Iterator``
  $logFileIterator

# `public `Guzzle\Common\Collection``
`current( )`

Returns the current log record as a Guzzle Collection object. This object behaves like an associative array except that it returns `null` on non-existent keys instead of causing an error. See the linked resources for the schema of the log record data and how to work with Guzzle Collections.

#### Returns

``Guzzle\Common\Collection``

#### Link

http://docs.aws.amazon.com/awscloudtrail/latest/userguide/eventreference.html
http://api.guzzlephp.org/class-Guzzle.Common.Collection.html

#### Implementation of

`Iterator::current()`
# `public`
`next( )`

#### Implementation of

`Iterator::next()`
# `public`
`key( )`

#### Implementation of

`Iterator::key()`
# `public`
`valid( )`

#### Implementation of

`Iterator::valid()`
# `public`
`rewind( )`

#### Implementation of

`Iterator::rewind()`
# `public`
`getInnerIterator( )`

#### Implementation of

`OuterIterator::getInnerIterator()`

### Magic methods summary