@gtheocrwd/pulumi-crowdstrike
Version:
A Pulumi package for creating and managing Crowdstrike resources. Based on terraform-provider-crowdstrike: version v0.0.5
142 lines • 7.65 kB
JavaScript
;
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.PreventionPolicyLinux = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("./utilities");
/**
* This resource allows you to manage CrowdStrike Falcon prevention policies for Linux hosts. Prevention policies allow you to manage what activity will trigger detections and preventions on your hosts.
*
* ## API Scopes
*
* The following API scopes are required:
*
* - Prevention policies | Read & Write
*
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as crowdstrike from "@gtheocrwd/pulumi-crowdstrike";
*
* const example = new crowdstrike.PreventionPolicyLinux("example", {
* enabled: true,
* description: "Made with Pulumi",
* hostGroups: ["d6e3c1e1b3d0467da0fowc96a5e6ecb5"],
* ioaRuleGroups: ["ed334b3243bc4b6bb8e7d40a2ecd86fa"],
* cloudAntiMalware: {
* detection: "MODERATE",
* prevention: "CAUTIOUS",
* },
* sensorAntiMalware: {
* detection: "MODERATE",
* prevention: "CAUTIOUS",
* },
* quarantine: true,
* customBlocking: true,
* preventSuspiciousProcesses: true,
* scriptBasedExecutionMonitoring: true,
* uploadUnknownExecutables: true,
* uploadUnknownDetectionRelatedExecutables: true,
* driftPrevention: true,
* emailProtocolVisibility: true,
* filesystemVisibility: true,
* ftpVisibility: true,
* httpVisibility: true,
* networkVisibility: true,
* tlsVisibility: true,
* });
* export const preventionPolicyLinux = example;
* ```
*
* ## Import
*
* prevention policy can be imported by specifying the policy id.
*
* ```sh
* $ pulumi import crowdstrike:index/preventionPolicyLinux:PreventionPolicyLinux example 7fb858a949034a0cbca175f660f1e769
* ```
*/
class PreventionPolicyLinux extends pulumi.CustomResource {
/**
* Get an existing PreventionPolicyLinux 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, id, state, opts) {
return new PreventionPolicyLinux(name, state, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* Returns true if the given object is an instance of PreventionPolicyLinux. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === PreventionPolicyLinux.__pulumiType;
}
constructor(name, argsOrState, opts) {
let resourceInputs = {};
opts = opts || {};
if (opts.id) {
const state = argsOrState;
resourceInputs["cloudAntiMalware"] = state ? state.cloudAntiMalware : undefined;
resourceInputs["customBlocking"] = state ? state.customBlocking : undefined;
resourceInputs["description"] = state ? state.description : undefined;
resourceInputs["driftPrevention"] = state ? state.driftPrevention : undefined;
resourceInputs["emailProtocolVisibility"] = state ? state.emailProtocolVisibility : undefined;
resourceInputs["enabled"] = state ? state.enabled : undefined;
resourceInputs["filesystemVisibility"] = state ? state.filesystemVisibility : undefined;
resourceInputs["ftpVisibility"] = state ? state.ftpVisibility : undefined;
resourceInputs["hostGroups"] = state ? state.hostGroups : undefined;
resourceInputs["httpVisibility"] = state ? state.httpVisibility : undefined;
resourceInputs["ioaRuleGroups"] = state ? state.ioaRuleGroups : undefined;
resourceInputs["lastUpdated"] = state ? state.lastUpdated : undefined;
resourceInputs["name"] = state ? state.name : undefined;
resourceInputs["networkVisibility"] = state ? state.networkVisibility : undefined;
resourceInputs["preventSuspiciousProcesses"] = state ? state.preventSuspiciousProcesses : undefined;
resourceInputs["quarantine"] = state ? state.quarantine : undefined;
resourceInputs["scriptBasedExecutionMonitoring"] = state ? state.scriptBasedExecutionMonitoring : undefined;
resourceInputs["sensorAntiMalware"] = state ? state.sensorAntiMalware : undefined;
resourceInputs["tlsVisibility"] = state ? state.tlsVisibility : undefined;
resourceInputs["uploadUnknownDetectionRelatedExecutables"] = state ? state.uploadUnknownDetectionRelatedExecutables : undefined;
resourceInputs["uploadUnknownExecutables"] = state ? state.uploadUnknownExecutables : undefined;
}
else {
const args = argsOrState;
resourceInputs["cloudAntiMalware"] = args ? args.cloudAntiMalware : undefined;
resourceInputs["customBlocking"] = args ? args.customBlocking : undefined;
resourceInputs["description"] = args ? args.description : undefined;
resourceInputs["driftPrevention"] = args ? args.driftPrevention : undefined;
resourceInputs["emailProtocolVisibility"] = args ? args.emailProtocolVisibility : undefined;
resourceInputs["enabled"] = args ? args.enabled : undefined;
resourceInputs["filesystemVisibility"] = args ? args.filesystemVisibility : undefined;
resourceInputs["ftpVisibility"] = args ? args.ftpVisibility : undefined;
resourceInputs["hostGroups"] = args ? args.hostGroups : undefined;
resourceInputs["httpVisibility"] = args ? args.httpVisibility : undefined;
resourceInputs["ioaRuleGroups"] = args ? args.ioaRuleGroups : undefined;
resourceInputs["name"] = args ? args.name : undefined;
resourceInputs["networkVisibility"] = args ? args.networkVisibility : undefined;
resourceInputs["preventSuspiciousProcesses"] = args ? args.preventSuspiciousProcesses : undefined;
resourceInputs["quarantine"] = args ? args.quarantine : undefined;
resourceInputs["scriptBasedExecutionMonitoring"] = args ? args.scriptBasedExecutionMonitoring : undefined;
resourceInputs["sensorAntiMalware"] = args ? args.sensorAntiMalware : undefined;
resourceInputs["tlsVisibility"] = args ? args.tlsVisibility : undefined;
resourceInputs["uploadUnknownDetectionRelatedExecutables"] = args ? args.uploadUnknownDetectionRelatedExecutables : undefined;
resourceInputs["uploadUnknownExecutables"] = args ? args.uploadUnknownExecutables : undefined;
resourceInputs["lastUpdated"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(PreventionPolicyLinux.__pulumiType, name, resourceInputs, opts);
}
}
exports.PreventionPolicyLinux = PreventionPolicyLinux;
/** @internal */
PreventionPolicyLinux.__pulumiType = 'crowdstrike:index/preventionPolicyLinux:PreventionPolicyLinux';
//# sourceMappingURL=preventionPolicyLinux.js.map