Rule
Provides a Config Rule resource. For information about Config Rule and how to use it, see What is Rule.
NOTE: Available since v1.204.0.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const default = alicloud.resourcemanager.getResourceGroups({
status: "OK",
});
const defaultRule = new alicloud.cfg.Rule("default", {
description: "If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.",
sourceOwner: "ALIYUN",
sourceIdentifier: "contains-tag",
riskLevel: 1,
tagValueScope: "example-value",
tagKeyScope: "example-key",
excludeResourceIdsScope: "example-resource_id",
regionIdsScope: "cn-hangzhou",
configRuleTriggerTypes: "ConfigurationItemChangeNotification",
resourceGroupIdsScope: _default.then(_default => _default.ids?.[0]),
resourceTypesScopes: ["ACS::RDS::DBInstance"],
ruleName: "contains-tag",
inputParameters: {
key: "example",
value: "example",
},
});Content copied to clipboard
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.resourcemanager.get_resource_groups(status="OK")
default_rule = alicloud.cfg.Rule("default",
description="If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.",
source_owner="ALIYUN",
source_identifier="contains-tag",
risk_level=1,
tag_value_scope="example-value",
tag_key_scope="example-key",
exclude_resource_ids_scope="example-resource_id",
region_ids_scope="cn-hangzhou",
config_rule_trigger_types="ConfigurationItemChangeNotification",
resource_group_ids_scope=default.ids[0],
resource_types_scopes=["ACS::RDS::DBInstance"],
rule_name="contains-tag",
input_parameters={
"key": "example",
"value": "example",
})Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var @default = AliCloud.ResourceManager.GetResourceGroups.Invoke(new()
{
Status = "OK",
});
var defaultRule = new AliCloud.Cfg.Rule("default", new()
{
Description = "If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.",
SourceOwner = "ALIYUN",
SourceIdentifier = "contains-tag",
RiskLevel = 1,
TagValueScope = "example-value",
TagKeyScope = "example-key",
ExcludeResourceIdsScope = "example-resource_id",
RegionIdsScope = "cn-hangzhou",
ConfigRuleTriggerTypes = "ConfigurationItemChangeNotification",
ResourceGroupIdsScope = @default.Apply(@default => @default.Apply(getResourceGroupsResult => getResourceGroupsResult.Ids[0])),
ResourceTypesScopes = new[]
{
"ACS::RDS::DBInstance",
},
RuleName = "contains-tag",
InputParameters =
{
{ "key", "example" },
{ "value", "example" },
},
});
});Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cfg"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/resourcemanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := resourcemanager.GetResourceGroups(ctx, &resourcemanager.GetResourceGroupsArgs{
Status: pulumi.StringRef("OK"),
}, nil)
if err != nil {
return err
}
_, err = cfg.NewRule(ctx, "default", &cfg.RuleArgs{
Description: pulumi.String("If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant."),
SourceOwner: pulumi.String("ALIYUN"),
SourceIdentifier: pulumi.String("contains-tag"),
RiskLevel: pulumi.Int(1),
TagValueScope: pulumi.String("example-value"),
TagKeyScope: pulumi.String("example-key"),
ExcludeResourceIdsScope: pulumi.String("example-resource_id"),
RegionIdsScope: pulumi.String("cn-hangzhou"),
ConfigRuleTriggerTypes: pulumi.String("ConfigurationItemChangeNotification"),
ResourceGroupIdsScope: pulumi.String(_default.Ids[0]),
ResourceTypesScopes: pulumi.StringArray{
pulumi.String("ACS::RDS::DBInstance"),
},
RuleName: pulumi.String("contains-tag"),
InputParameters: pulumi.Map{
"key": pulumi.Any("example"),
"value": pulumi.Any("example"),
},
})
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.alicloud.resourcemanager.ResourcemanagerFunctions;
import com.pulumi.alicloud.resourcemanager.inputs.GetResourceGroupsArgs;
import com.pulumi.alicloud.cfg.Rule;
import com.pulumi.alicloud.cfg.RuleArgs;
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) {
final var default = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
.status("OK")
.build());
var defaultRule = new Rule("defaultRule", RuleArgs.builder()
.description("If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.")
.sourceOwner("ALIYUN")
.sourceIdentifier("contains-tag")
.riskLevel(1)
.tagValueScope("example-value")
.tagKeyScope("example-key")
.excludeResourceIdsScope("example-resource_id")
.regionIdsScope("cn-hangzhou")
.configRuleTriggerTypes("ConfigurationItemChangeNotification")
.resourceGroupIdsScope(default_.ids()[0])
.resourceTypesScopes("ACS::RDS::DBInstance")
.ruleName("contains-tag")
.inputParameters(Map.ofEntries(
Map.entry("key", "example"),
Map.entry("value", "example")
))
.build());
}
}Content copied to clipboard
resources:
defaultRule:
type: alicloud:cfg:Rule
name: default
properties:
description: If the resource matches one of the specified tag key-value pairs, the configuration is considered compliant.
sourceOwner: ALIYUN
sourceIdentifier: contains-tag
riskLevel: 1
tagValueScope: example-value
tagKeyScope: example-key
excludeResourceIdsScope: example-resource_id
regionIdsScope: cn-hangzhou
configRuleTriggerTypes: ConfigurationItemChangeNotification
resourceGroupIdsScope: ${default.ids[0]}
resourceTypesScopes:
- ACS::RDS::DBInstance
ruleName: contains-tag
inputParameters:
key: example
value: example
variables:
default:
fn::invoke:
Function: alicloud:resourcemanager:getResourceGroups
Arguments:
status: OKContent copied to clipboard
Import
Config Rule can be imported using the id, e.g.
$ pulumi import alicloud:cfg/rule:Rule example <id>Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The status of the rule. Valid values: ACTIVE: The rule is monitoring the configurations of target resources. DELETING_RESULTS: The compliance evaluation result returned by the rule is being deleted. EVALUATING: The rule is triggered and is evaluating whether the configurations of target resources are compliant. INACTIVE: The rule is disabled from monitoring the configurations of target resources.