Log Index Policy Args
data class LogIndexPolicyArgs(val logGroupName: Output<String>? = null, val policyDocument: Output<String>? = null) : ConvertibleToJava<LogIndexPolicyArgs>
Resource for managing an AWS CloudWatch Logs Index Policy.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.cloudwatch.LogGroup("example", {name: "example"});
const exampleLogIndexPolicy = new aws.cloudwatch.LogIndexPolicy("example", {
logGroupName: example.name,
policyDocument: JSON.stringify({
Fields: ["eventName"],
}),
});Content copied to clipboard
import pulumi
import json
import pulumi_aws as aws
example = aws.cloudwatch.LogGroup("example", name="example")
example_log_index_policy = aws.cloudwatch.LogIndexPolicy("example",
log_group_name=example.name,
policy_document=json.dumps({
"Fields": ["eventName"],
}))Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.CloudWatch.LogGroup("example", new()
{
Name = "example",
});
var exampleLogIndexPolicy = new Aws.CloudWatch.LogIndexPolicy("example", new()
{
LogGroupName = example.Name,
PolicyDocument = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["Fields"] = new[]
{
"eventName",
},
}),
});
});Content copied to clipboard
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
Name: pulumi.String("example"),
})
if err != nil {
return err
}
tmpJSON0, err := json.Marshal(map[string]interface{}{
"Fields": []string{
"eventName",
},
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = cloudwatch.NewLogIndexPolicy(ctx, "example", &cloudwatch.LogIndexPolicyArgs{
LogGroupName: example.Name,
PolicyDocument: pulumi.String(json0),
})
if err != nil {
return err
}
return nil
})
}Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudwatch.LogGroup;
import com.pulumi.aws.cloudwatch.LogGroupArgs;
import com.pulumi.aws.cloudwatch.LogIndexPolicy;
import com.pulumi.aws.cloudwatch.LogIndexPolicyArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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 example = new LogGroup("example", LogGroupArgs.builder()
.name("example")
.build());
var exampleLogIndexPolicy = new LogIndexPolicy("exampleLogIndexPolicy", LogIndexPolicyArgs.builder()
.logGroupName(example.name())
.policyDocument(serializeJson(
jsonObject(
jsonProperty("Fields", jsonArray("eventName"))
)))
.build());
}
}Content copied to clipboard
resources:
example:
type: aws:cloudwatch:LogGroup
properties:
name: example
exampleLogIndexPolicy:
type: aws:cloudwatch:LogIndexPolicy
name: example
properties:
logGroupName: ${example.name}
policyDocument:
fn::toJSON:
Fields:
- eventNameContent copied to clipboard
Import
Using pulumi import, import CloudWatch Logs Index Policy using the log_group_name. For example:
$ pulumi import aws:cloudwatch/logIndexPolicy:LogIndexPolicy example /aws/log/group/nameContent copied to clipboard