RealtimeLogConfig

Provides a CloudFront real-time log configuration resource.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.Role;
import com.pulumi.aws.iam.RoleArgs;
import com.pulumi.aws.iam.RolePolicy;
import com.pulumi.aws.iam.RolePolicyArgs;
import com.pulumi.aws.cloudfront.RealtimeLogConfig;
import com.pulumi.aws.cloudfront.RealtimeLogConfigArgs;
import com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointArgs;
import com.pulumi.aws.cloudfront.inputs.RealtimeLogConfigEndpointKinesisStreamConfigArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var exampleRole = new Role("exampleRole", RoleArgs.builder()
.assumeRolePolicy("""
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Effect": "Allow"
}
]
}
""")
.build());
var exampleRolePolicy = new RolePolicy("exampleRolePolicy", RolePolicyArgs.builder()
.role(exampleRole.id())
.policy("""
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kinesis:DescribeStreamSummary",
"kinesis:DescribeStream",
"kinesis:PutRecord",
"kinesis:PutRecords"
],
"Resource": "%s"
}
]
}
", aws_kinesis_stream.example().arn()))
.build());
var exampleRealtimeLogConfig = new RealtimeLogConfig("exampleRealtimeLogConfig", RealtimeLogConfigArgs.builder()
.samplingRate(75)
.fields(
"timestamp",
"c-ip")
.endpoint(RealtimeLogConfigEndpointArgs.builder()
.streamType("Kinesis")
.kinesisStreamConfig(RealtimeLogConfigEndpointKinesisStreamConfigArgs.builder()
.roleArn(exampleRole.arn())
.streamArn(aws_kinesis_stream.example().arn())
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(exampleRolePolicy)
.build());
}
}

Import

CloudFront real-time log configurations can be imported using the ARN, e.g.,

$ pulumi import aws:cloudfront/realtimeLogConfig:RealtimeLogConfig example arn:aws:cloudfront::111122223333:realtime-log-config/ExampleNameForRealtimeLogConfig

Properties

Link copied to clipboard
val arn: Output<String>

The ARN (Amazon Resource Name) of the CloudFront real-time log configuration.

Link copied to clipboard

The Amazon Kinesis data streams where real-time log data is sent.

Link copied to clipboard
val fields: Output<List<String>>

The fields that are included in each real-time log record. See the AWS documentation for supported values.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The unique name to identify this real-time log configuration.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val samplingRate: Output<Int>

The sampling rate for this real-time log configuration. The sampling rate determines the percentage of viewer requests that are represented in the real-time log data. An integer between 1 and 100, inclusive.

Link copied to clipboard
val urn: Output<String>