CompliancePackArgs

data class CompliancePackArgs(val compliancePackName: Output<String>? = null, val compliancePackTemplateId: Output<String>? = null, val configRuleIds: Output<List<CompliancePackConfigRuleIdArgs>>? = null, val configRules: Output<List<CompliancePackConfigRuleArgs>>? = null, val description: Output<String>? = null, val riskLevel: Output<Int>? = null) : ConvertibleToJava<CompliancePackArgs>

Provides a Cloud Config Compliance Pack resource. For information about Cloud Config Compliance Pack and how to use it, see What is Compliance Pack.

NOTE: Available in v1.124.0+.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;
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 com.pulumi.alicloud.cfg.CompliancePack;
import com.pulumi.alicloud.cfg.CompliancePackArgs;
import com.pulumi.alicloud.cfg.inputs.CompliancePackConfigRuleIdArgs;
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 config = ctx.config();
final var name = config.get("name").orElse("example_name");
final var defaultInstances = EcsFunctions.getInstances();
final var defaultResourceGroups = ResourcemanagerFunctions.getResourceGroups(GetResourceGroupsArgs.builder()
.status("OK")
.build());
var defaultRule = new Rule("defaultRule", RuleArgs.builder()
.ruleName(name)
.description(name)
.sourceIdentifier("ecs-instances-in-vpc")
.sourceOwner("ALIYUN")
.resourceTypesScopes("ACS::ECS::Instance")
.riskLevel(1)
.configRuleTriggerTypes("ConfigurationItemChangeNotification")
.tagKeyScope("tfTest")
.tagValueScope("tfTest 123")
.resourceGroupIdsScope(defaultResourceGroups.applyValue(getResourceGroupsResult -> getResourceGroupsResult.ids()[0]))
.excludeResourceIdsScope(defaultInstances.applyValue(getInstancesResult -> getInstancesResult.instances()[0].id()))
.regionIdsScope("cn-hangzhou")
.inputParameters(Map.of("vpcIds", defaultInstances.applyValue(getInstancesResult -> getInstancesResult.instances()[0].vpcId())))
.build());
var defaultCompliancePack = new CompliancePack("defaultCompliancePack", CompliancePackArgs.builder()
.compliancePackName("tf-testaccConfig1234")
.description("tf-testaccConfig1234")
.riskLevel("1")
.configRuleIds(CompliancePackConfigRuleIdArgs.builder()
.configRuleId(defaultRule.id())
.build())
.build());
}
}

Import

Cloud Config Compliance Pack can be imported using the id, e.g.

$ pulumi import alicloud:cfg/compliancePack:CompliancePack example <id>

Constructors

Link copied to clipboard
fun CompliancePackArgs(compliancePackName: Output<String>? = null, compliancePackTemplateId: Output<String>? = null, configRuleIds: Output<List<CompliancePackConfigRuleIdArgs>>? = null, configRules: Output<List<CompliancePackConfigRuleArgs>>? = null, description: Output<String>? = null, riskLevel: Output<Int>? = null)

Functions

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

Properties

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

The Compliance Package Name. . NOTE: the compliance_pack_name supports modification since V1.146.0.

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

Compliance Package Template Id.

Link copied to clipboard

A list of Config Rule IDs.

Link copied to clipboard

A list of Config Rules.

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

The Description of compliance pack.

Link copied to clipboard
val riskLevel: Output<Int>? = null

The Risk Level. Valid values: 1: critical, 2: warning, 3: info.