Device Posture Rule
Provides a Cloudflare Device Posture Rule resource. Device posture rules configure security policies for device posture checks.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const eaxmple = new cloudflare.DevicePostureRule("eaxmple", {
accountId: "f037e56e89293a057740de681ac9abbe",
name: "Corporate devices posture rule",
type: "os_version",
description: "Device posture rule for corporate devices.",
schedule: "24h",
expiration: "24h",
matches: [{
platform: "linux",
}],
inputs: [{
id: corporateDevices.id,
version: "1.0.0",
operator: "<",
osDistroName: "ubuntu",
osDistroRevision: "1.0.0",
osVersionExtra: "(a)",
}],
});
Content copied to clipboard
import pulumi
import pulumi_cloudflare as cloudflare
eaxmple = cloudflare.DevicePostureRule("eaxmple",
account_id="f037e56e89293a057740de681ac9abbe",
name="Corporate devices posture rule",
type="os_version",
description="Device posture rule for corporate devices.",
schedule="24h",
expiration="24h",
matches=[{
"platform": "linux",
}],
inputs=[{
"id": corporate_devices["id"],
"version": "1.0.0",
"operator": "<",
"os_distro_name": "ubuntu",
"os_distro_revision": "1.0.0",
"os_version_extra": "(a)",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var eaxmple = new Cloudflare.DevicePostureRule("eaxmple", new()
{
AccountId = "f037e56e89293a057740de681ac9abbe",
Name = "Corporate devices posture rule",
Type = "os_version",
Description = "Device posture rule for corporate devices.",
Schedule = "24h",
Expiration = "24h",
Matches = new[]
{
new Cloudflare.Inputs.DevicePostureRuleMatchArgs
{
Platform = "linux",
},
},
Inputs = new[]
{
new Cloudflare.Inputs.DevicePostureRuleInputArgs
{
Id = corporateDevices.Id,
Version = "1.0.0",
Operator = "<",
OsDistroName = "ubuntu",
OsDistroRevision = "1.0.0",
OsVersionExtra = "(a)",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-cloudflare/sdk/v5/go/cloudflare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := cloudflare.NewDevicePostureRule(ctx, "eaxmple", &cloudflare.DevicePostureRuleArgs{
AccountId: pulumi.String("f037e56e89293a057740de681ac9abbe"),
Name: pulumi.String("Corporate devices posture rule"),
Type: pulumi.String("os_version"),
Description: pulumi.String("Device posture rule for corporate devices."),
Schedule: pulumi.String("24h"),
Expiration: pulumi.String("24h"),
Matches: cloudflare.DevicePostureRuleMatchArray{
&cloudflare.DevicePostureRuleMatchArgs{
Platform: pulumi.String("linux"),
},
},
Inputs: cloudflare.DevicePostureRuleInputTypeArray{
&cloudflare.DevicePostureRuleInputTypeArgs{
Id: pulumi.Any(corporateDevices.Id),
Version: pulumi.String("1.0.0"),
Operator: pulumi.String("<"),
OsDistroName: pulumi.String("ubuntu"),
OsDistroRevision: pulumi.String("1.0.0"),
OsVersionExtra: pulumi.String("(a)"),
},
},
})
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.cloudflare.DevicePostureRule;
import com.pulumi.cloudflare.DevicePostureRuleArgs;
import com.pulumi.cloudflare.inputs.DevicePostureRuleMatchArgs;
import com.pulumi.cloudflare.inputs.DevicePostureRuleInputArgs;
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 eaxmple = new DevicePostureRule("eaxmple", DevicePostureRuleArgs.builder()
.accountId("f037e56e89293a057740de681ac9abbe")
.name("Corporate devices posture rule")
.type("os_version")
.description("Device posture rule for corporate devices.")
.schedule("24h")
.expiration("24h")
.matches(DevicePostureRuleMatchArgs.builder()
.platform("linux")
.build())
.inputs(DevicePostureRuleInputArgs.builder()
.id(corporateDevices.id())
.version("1.0.0")
.operator("<")
.osDistroName("ubuntu")
.osDistroRevision("1.0.0")
.osVersionExtra("(a)")
.build())
.build());
}
}
Content copied to clipboard
resources:
eaxmple:
type: cloudflare:DevicePostureRule
properties:
accountId: f037e56e89293a057740de681ac9abbe
name: Corporate devices posture rule
type: os_version
description: Device posture rule for corporate devices.
schedule: 24h
expiration: 24h
matches:
- platform: linux
inputs:
- id: ${corporateDevices.id}
version: 1.0.0
operator: <
osDistroName: ubuntu
osDistroRevision: 1.0.0
osVersionExtra: (a)
Content copied to clipboard
Import
$ pulumi import cloudflare:index/devicePostureRule:DevicePostureRule example <account_id>/<device_posture_rule_id>
Content copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
Expire posture results after the specified amount of time. Must be in the format 1h
or 30m
. Valid units are h
and m
.
Link copied to clipboard
Required for all rule types except warp
, gateway
, and tanium
.
Link copied to clipboard
The conditions that the client must match to run the rule.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
The device posture rule type. Available values: serial_number
, file
, application
, gateway
, warp
, domain_joined
, os_version
, disk_encryption
, firewall
, client_certificate
, client_certificate_v2
, workspace_one
, unique_client_id
, crowdstrike_s2s
, sentinelone
, kolide
, tanium_s2s
, intune
, sentinelone_s2s
, custom_s2s
.