ContributorInsightRuleArgs

data class ContributorInsightRuleArgs(val ruleDefinition: Output<String>? = null, val ruleName: Output<String>? = null, val ruleState: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ContributorInsightRuleArgs>

Resource for managing an AWS CloudWatch Contributor Insight Rule.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const test = new aws.cloudwatch.ContributorInsightRule("test", {
ruleName: "testing",
ruleState: "ENABLED",
ruleDefinition: "{\"Schema\":{\"Name\":\"CloudWatchLogRule\",\"Version\":1},\"AggregateOn\":\"Count\",\"Contribution\":{\"Filters\":[{\"In\":[\"some-keyword\"],\"Match\":\"$&#46;message\"}],\"Keys\":[\"$&#46;country\"]},\"LogFormat\":\"JSON\",\"LogGroupNames\":[\"/aws/lambda/api-prod\"]}",
});
import pulumi
import pulumi_aws as aws
test = aws.cloudwatch.ContributorInsightRule("test",
rule_name="testing",
rule_state="ENABLED",
rule_definition="{\"Schema\":{\"Name\":\"CloudWatchLogRule\",\"Version\":1},\"AggregateOn\":\"Count\",\"Contribution\":{\"Filters\":[{\"In\":[\"some-keyword\"],\"Match\":\"$&#46;message\"}],\"Keys\":[\"$&#46;country\"]},\"LogFormat\":\"JSON\",\"LogGroupNames\":[\"/aws/lambda/api-prod\"]}")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var test = new Aws.CloudWatch.ContributorInsightRule("test", new()
{
RuleName = "testing",
RuleState = "ENABLED",
RuleDefinition = "{\"Schema\":{\"Name\":\"CloudWatchLogRule\",\"Version\":1},\"AggregateOn\":\"Count\",\"Contribution\":{\"Filters\":[{\"In\":[\"some-keyword\"],\"Match\":\"$&#46;message\"}],\"Keys\":[\"$&#46;country\"]},\"LogFormat\":\"JSON\",\"LogGroupNames\":[\"/aws/lambda/api-prod\"]}",
});
});
package main
import (
"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 {
_, err := cloudwatch.NewContributorInsightRule(ctx, "test", &cloudwatch.ContributorInsightRuleArgs{
RuleName: pulumi.String("testing"),
RuleState: pulumi.String("ENABLED"),
RuleDefinition: pulumi.String("{\"Schema\":{\"Name\":\"CloudWatchLogRule\",\"Version\":1},\"AggregateOn\":\"Count\",\"Contribution\":{\"Filters\":[{\"In\":[\"some-keyword\"],\"Match\":\"$&#46;message\"}],\"Keys\":[\"$&#46;country\"]},\"LogFormat\":\"JSON\",\"LogGroupNames\":[\"/aws/lambda/api-prod\"]}"),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudwatch.ContributorInsightRule;
import com.pulumi.aws.cloudwatch.ContributorInsightRuleArgs;
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 test = new ContributorInsightRule("test", ContributorInsightRuleArgs.builder()
.ruleName("testing")
.ruleState("ENABLED")
.ruleDefinition("{\"Schema\":{\"Name\":\"CloudWatchLogRule\",\"Version\":1},\"AggregateOn\":\"Count\",\"Contribution\":{\"Filters\":[{\"In\":[\"some-keyword\"],\"Match\":\"$&#46;message\"}],\"Keys\":[\"$&#46;country\"]},\"LogFormat\":\"JSON\",\"LogGroupNames\":[\"/aws/lambda/api-prod\"]}")
.build());
}
}
resources:
test:
type: aws:cloudwatch:ContributorInsightRule
properties:
ruleName: testing
ruleState: ENABLED
ruleDefinition: '{"Schema":{"Name":"CloudWatchLogRule","Version":1},"AggregateOn":"Count","Contribution":{"Filters":[{"In":["some-keyword"],"Match":"$&#46;message"}],"Keys":["$&#46;country"]},"LogFormat":"JSON","LogGroupNames":["/aws/lambda/api-prod"]}'

Import

Using pulumi import, import CloudWatch Contributor Insight Rule using the rule_name. For example:

$ pulumi import aws:cloudwatch/contributorInsightRule:ContributorInsightRule example contributor_insight_rule-name

Constructors

Link copied to clipboard
constructor(ruleDefinition: Output<String>? = null, ruleName: Output<String>? = null, ruleState: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val ruleDefinition: Output<String>? = null

Definition of the rule, as a JSON object. For details on the valid syntax, see Contributor Insights Rule Syntax.

Link copied to clipboard
val ruleName: Output<String>? = null

Unique name of the rule. The following arguments are optional:

Link copied to clipboard
val ruleState: Output<String>? = null

State of the rule. Valid values are ENABLED and DISABLED.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Functions

Link copied to clipboard
open override fun toJava(): ContributorInsightRuleArgs