this plugin accepts the following options:

// aftconfig.json
{
"KinesisReportingPluginConfig": {
"logLevel": "info",
"region": "us-west-1",
"deliveryStream": "your-frehose-delivery-stream",
"assumeRoleArn": "optional-arn-for-iam-role-used-to-send-records",
"assumeRoleDuration": 900,
"batch": true,
"batchSize": 10,
"sendStrategy": "logsandresults",
"timestampFieldName": "@timestamp",
"timestampFormat": "YYYY-MM-DDTHH:mm:ss.SSSZ"
}
}

NOTE:

the order we obtain AWS Credentials follows the below:

  • Environment Variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
  • EC2 Metadata: also known as instance profile credentials
  • Shared Ini File: read from the host system
  • ECS Credentials: similar to the EC2 Metadata, but on ECS
  • Process Credentials: any credentials set on the current process

Hierarchy

  • ReportingPlugin
    • KinesisReportingPlugin

Constructors

Properties

_assumeRoleArn: string
_assumeRoleDuration: number
_client: Firehose
_level: "trace" | "debug" | "info" | "step" | "warn" | "pass" | "fail" | "error" | "none"
_logs: Record[]
_timestampField: string
_timestampFormat: string

Accessors

  • get aftCfg(): AftConfig
  • Returns AftConfig

  • get aftLogger(): AftLogger
  • Returns AftLogger

  • get enabled(): boolean
  • Returns boolean

Methods

  • generates a valid AWS Credentials object by checking the following (in this order):

    • Options: read from passed in KinesisReportingPluginOptions
    • Environment Variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN
    • EC2 Metadata: also known as instance profile credentials
    • Shared Ini File: read from the host system
    • ECS Credentials: similar to the EC2 Metadata, but on ECS
    • Process Credentials: any credentials set on the current process

    Returns Promise<Credentials>

    a valid AWS Credentials object

Generated using TypeDoc