import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides a Datadog Workload Protection (CSM Threats) Agent Rule API resource. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as datadog from "@pulumi/datadog"; * * const myAgentRule = new datadog.CsmThreatsAgentRule("my_agent_rule", { * actions: [{ * hash: [{}], * set: [{ * name: "updated_security_actions", * field: "exec.file.path", * append: false, * scope: "process", * }], * }], * name: "my_agent_rule", * enabled: true, * description: "This is a rule", * expression: "open.file.name == \"etc/shadow/password\"", * policyId: "jm4-lwh-8cs", * productTags: ["compliance_framework:PCI-DSS"], * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * CSM Agent Rules can be imported using ID. For example: * * ```sh * $ pulumi import datadog:index/csmThreatsAgentRule:CsmThreatsAgentRule my_agent_rule m0o-hto-lkb * ``` * * CSM Agent Rules can also be imported using the policy ID and the rule ID. For example: * * ```sh * $ pulumi import datadog:index/csmThreatsAgentRule:CsmThreatsAgentRule my_agent_rule jm4-lwh-8cs:m0o-hto-lkb * ``` */ export declare class CsmThreatsAgentRule extends pulumi.CustomResource { /** * Get an existing CsmThreatsAgentRule resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: CsmThreatsAgentRuleState, opts?: pulumi.CustomResourceOptions): CsmThreatsAgentRule; /** * Returns true if the given object is an instance of CsmThreatsAgentRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is CsmThreatsAgentRule; /** * The list of actions the rule can perform */ readonly actions: pulumi.Output; /** * A description for the Agent rule. */ readonly description: pulumi.Output; /** * Indicates whether the Agent rule is enabled. Must not be used without policy_id. */ readonly enabled: pulumi.Output; /** * The SECL expression of the Agent rule */ readonly expression: pulumi.Output; /** * The name of the Agent rule. */ readonly name: pulumi.Output; /** * The ID of the agent policy in which the rule is saved */ readonly policyId: pulumi.Output; /** * The list of product tags associated with the rule */ readonly productTags: pulumi.Output; /** * Indicates whether the Agent rule is silent. */ readonly silent: pulumi.Output; /** * Create a CsmThreatsAgentRule resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: CsmThreatsAgentRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering CsmThreatsAgentRule resources. */ export interface CsmThreatsAgentRuleState { /** * The list of actions the rule can perform */ actions?: pulumi.Input[]>; /** * A description for the Agent rule. */ description?: pulumi.Input; /** * Indicates whether the Agent rule is enabled. Must not be used without policy_id. */ enabled?: pulumi.Input; /** * The SECL expression of the Agent rule */ expression?: pulumi.Input; /** * The name of the Agent rule. */ name?: pulumi.Input; /** * The ID of the agent policy in which the rule is saved */ policyId?: pulumi.Input; /** * The list of product tags associated with the rule */ productTags?: pulumi.Input[]>; /** * Indicates whether the Agent rule is silent. */ silent?: pulumi.Input; } /** * The set of arguments for constructing a CsmThreatsAgentRule resource. */ export interface CsmThreatsAgentRuleArgs { /** * The list of actions the rule can perform */ actions?: pulumi.Input[]>; /** * A description for the Agent rule. */ description?: pulumi.Input; /** * Indicates whether the Agent rule is enabled. Must not be used without policy_id. */ enabled?: pulumi.Input; /** * The SECL expression of the Agent rule */ expression: pulumi.Input; /** * The name of the Agent rule. */ name: pulumi.Input; /** * The ID of the agent policy in which the rule is saved */ policyId?: pulumi.Input; /** * The list of product tags associated with the rule */ productTags?: pulumi.Input[]>; /** * Indicates whether the Agent rule is silent. */ silent?: pulumi.Input; }