Rule Group Namespace
Manages an Amazon Managed Service for Prometheus (AMP) Rule Group Namespace
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const demo = new aws.amp.Workspace("demo", {});
const demoRuleGroupNamespace = new aws.amp.RuleGroupNamespace("demo", {
name: "rules",
workspaceId: demo.id,
data: `groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
`,
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
demo = aws.amp.Workspace("demo")
demo_rule_group_namespace = aws.amp.RuleGroupNamespace("demo",
name="rules",
workspace_id=demo.id,
data="""groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
""")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var demo = new Aws.Amp.Workspace("demo");
var demoRuleGroupNamespace = new Aws.Amp.RuleGroupNamespace("demo", new()
{
Name = "rules",
WorkspaceId = demo.Id,
Data = @"groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/amp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
demo, err := amp.NewWorkspace(ctx, "demo", nil)
if err != nil {
return err
}
_, err = amp.NewRuleGroupNamespace(ctx, "demo", &.RuleGroupNamespaceArgs{
Name: pulumi.String("rules"),
WorkspaceId: demo.ID(),
Data: pulumi.String(`groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
`),
})
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.amp.Workspace;
import com.pulumi.aws.amp.RuleGroupNamespace;
import com.pulumi.aws.amp.RuleGroupNamespaceArgs;
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 demo = new Workspace("demo");
var demoRuleGroupNamespace = new RuleGroupNamespace("demoRuleGroupNamespace", RuleGroupNamespaceArgs.builder()
.name("rules")
.workspaceId(demo.id())
.data("""
groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
""")
.build());
}
}
Content copied to clipboard
resources:
demo:
type: aws:amp:Workspace
demoRuleGroupNamespace:
type: aws:amp:RuleGroupNamespace
name: demo
properties:
name: rules
workspaceId: ${demo.id}
data: |
groups:
- name: test
rules:
- record: metric:recording_rule
expr: avg(rate(container_cpu_usage_seconds_total[5m]))
Content copied to clipboard
Import
Using pulumi import
, import the prometheus rule group namespace using the arn. For example:
$ pulumi import aws:amp/ruleGroupNamespace:RuleGroupNamespace demo arn:aws:aps:us-west-2:123456789012:rulegroupsnamespace/IDstring/namespace_name
Content copied to clipboard
Properties
Link copied to clipboard
the rule group namespace data that you want to be applied. See more in AWS Docs.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
ID of the prometheus workspace the rule group namespace should be linked to.