1. Packages
  2. Strata Cloud Manager Provider
  3. API Docs
  4. PbfRule
Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi
scm logo
Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi

    PbfRule resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scm from "@pulumi/scm";
    
    const exampleTag = new scm.Tag("example_tag", {
        folder: "All",
        name: "pbf-rule-tag-test-1",
        color: "Red",
    });
    // --- PBF Rule Resource with discard action---
    const examplePbfRule = new scm.PbfRule("example_pbf_rule", {
        name: "pbf-test-rule-discard",
        folder: "All",
        description: "PBF rule for forwarding specific traffic.",
        from: {
            zones: ["zone-untrust"],
        },
        sources: ["any"],
        destinations: ["any"],
        applications: ["any"],
        services: ["service-http"],
        sourceUsers: ["any"],
        action: {
            discard: {},
        },
        tags: [exampleTag.name],
        enforceSymmetricReturn: {
            enabled: false,
        },
        schedule: "non-work-hours",
    });
    // --- PBF Rule Resource with no-pbf action---
    const exampleNoPbfRule = new scm.PbfRule("example_no_pbf_rule", {
        name: "pbf-test-rule-no-pbf",
        folder: "All",
        description: "PBF rule for forwarding specific traffic",
        from: {
            zones: ["zone-untrust"],
        },
        sources: ["any"],
        destinations: ["any"],
        applications: ["any"],
        services: ["service-https"],
        sourceUsers: ["any"],
        action: {
            noPbf: {},
        },
        tags: [exampleTag.name],
        enforceSymmetricReturn: {
            enabled: false,
        },
        schedule: "non-work-hours",
    });
    // --- PBF Rule Resource with forward action---
    const exampleForwardPbfRule = new scm.PbfRule("example_forward_pbf_rule", {
        name: "pbf-test-rule-forward",
        folder: "All",
        description: "PBF rule for forwarding specific traffic",
        from: {
            zones: ["zone-untrust"],
        },
        sources: ["any"],
        destinations: ["any"],
        applications: ["any"],
        services: ["service-http"],
        sourceUsers: ["any"],
        action: {
            forward: {
                egressInterface: "ethernet1/1",
                nexthop: {
                    ipAddress: "192.168.1.254",
                },
                monitor: {
                    ipAddress: "8.8.8.10",
                    profile: "test_tf_profile",
                    disableIfUnreachable: true,
                },
            },
        },
        tags: [exampleTag.name],
        enforceSymmetricReturn: {
            enabled: true,
        },
        schedule: "non-work-hours",
    });
    
    import pulumi
    import pulumi_scm as scm
    
    example_tag = scm.Tag("example_tag",
        folder="All",
        name="pbf-rule-tag-test-1",
        color="Red")
    # --- PBF Rule Resource with discard action---
    example_pbf_rule = scm.PbfRule("example_pbf_rule",
        name="pbf-test-rule-discard",
        folder="All",
        description="PBF rule for forwarding specific traffic.",
        from_={
            "zones": ["zone-untrust"],
        },
        sources=["any"],
        destinations=["any"],
        applications=["any"],
        services=["service-http"],
        source_users=["any"],
        action={
            "discard": {},
        },
        tags=[example_tag.name],
        enforce_symmetric_return={
            "enabled": False,
        },
        schedule="non-work-hours")
    # --- PBF Rule Resource with no-pbf action---
    example_no_pbf_rule = scm.PbfRule("example_no_pbf_rule",
        name="pbf-test-rule-no-pbf",
        folder="All",
        description="PBF rule for forwarding specific traffic",
        from_={
            "zones": ["zone-untrust"],
        },
        sources=["any"],
        destinations=["any"],
        applications=["any"],
        services=["service-https"],
        source_users=["any"],
        action={
            "no_pbf": {},
        },
        tags=[example_tag.name],
        enforce_symmetric_return={
            "enabled": False,
        },
        schedule="non-work-hours")
    # --- PBF Rule Resource with forward action---
    example_forward_pbf_rule = scm.PbfRule("example_forward_pbf_rule",
        name="pbf-test-rule-forward",
        folder="All",
        description="PBF rule for forwarding specific traffic",
        from_={
            "zones": ["zone-untrust"],
        },
        sources=["any"],
        destinations=["any"],
        applications=["any"],
        services=["service-http"],
        source_users=["any"],
        action={
            "forward": {
                "egress_interface": "ethernet1/1",
                "nexthop": {
                    "ip_address": "192.168.1.254",
                },
                "monitor": {
                    "ip_address": "8.8.8.10",
                    "profile": "test_tf_profile",
                    "disable_if_unreachable": True,
                },
            },
        },
        tags=[example_tag.name],
        enforce_symmetric_return={
            "enabled": True,
        },
        schedule="non-work-hours")
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-scm/sdk/go/scm"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleTag, err := scm.NewTag(ctx, "example_tag", &scm.TagArgs{
    			Folder: pulumi.String("All"),
    			Name:   pulumi.String("pbf-rule-tag-test-1"),
    			Color:  pulumi.String("Red"),
    		})
    		if err != nil {
    			return err
    		}
    		// --- PBF Rule Resource with discard action---
    		_, err = scm.NewPbfRule(ctx, "example_pbf_rule", &scm.PbfRuleArgs{
    			Name:        pulumi.String("pbf-test-rule-discard"),
    			Folder:      pulumi.String("All"),
    			Description: pulumi.String("PBF rule for forwarding specific traffic."),
    			From: &scm.PbfRuleFromArgs{
    				Zones: pulumi.StringArray{
    					pulumi.String("zone-untrust"),
    				},
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Applications: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Services: pulumi.StringArray{
    				pulumi.String("service-http"),
    			},
    			SourceUsers: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Action: &scm.PbfRuleActionArgs{
    				Discard: &scm.PbfRuleActionDiscardArgs{},
    			},
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			EnforceSymmetricReturn: &scm.PbfRuleEnforceSymmetricReturnArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			Schedule: pulumi.String("non-work-hours"),
    		})
    		if err != nil {
    			return err
    		}
    		// --- PBF Rule Resource with no-pbf action---
    		_, err = scm.NewPbfRule(ctx, "example_no_pbf_rule", &scm.PbfRuleArgs{
    			Name:        pulumi.String("pbf-test-rule-no-pbf"),
    			Folder:      pulumi.String("All"),
    			Description: pulumi.String("PBF rule for forwarding specific traffic"),
    			From: &scm.PbfRuleFromArgs{
    				Zones: pulumi.StringArray{
    					pulumi.String("zone-untrust"),
    				},
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Applications: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Services: pulumi.StringArray{
    				pulumi.String("service-https"),
    			},
    			SourceUsers: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Action: &scm.PbfRuleActionArgs{
    				NoPbf: &scm.PbfRuleActionNoPbfArgs{},
    			},
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			EnforceSymmetricReturn: &scm.PbfRuleEnforceSymmetricReturnArgs{
    				Enabled: pulumi.Bool(false),
    			},
    			Schedule: pulumi.String("non-work-hours"),
    		})
    		if err != nil {
    			return err
    		}
    		// --- PBF Rule Resource with forward action---
    		_, err = scm.NewPbfRule(ctx, "example_forward_pbf_rule", &scm.PbfRuleArgs{
    			Name:        pulumi.String("pbf-test-rule-forward"),
    			Folder:      pulumi.String("All"),
    			Description: pulumi.String("PBF rule for forwarding specific traffic"),
    			From: &scm.PbfRuleFromArgs{
    				Zones: pulumi.StringArray{
    					pulumi.String("zone-untrust"),
    				},
    			},
    			Sources: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Destinations: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Applications: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Services: pulumi.StringArray{
    				pulumi.String("service-http"),
    			},
    			SourceUsers: pulumi.StringArray{
    				pulumi.String("any"),
    			},
    			Action: &scm.PbfRuleActionArgs{
    				Forward: &scm.PbfRuleActionForwardArgs{
    					EgressInterface: pulumi.String("ethernet1/1"),
    					Nexthop: &scm.PbfRuleActionForwardNexthopArgs{
    						IpAddress: pulumi.String("192.168.1.254"),
    					},
    					Monitor: &scm.PbfRuleActionForwardMonitorArgs{
    						IpAddress:            pulumi.String("8.8.8.10"),
    						Profile:              pulumi.String("test_tf_profile"),
    						DisableIfUnreachable: pulumi.Bool(true),
    					},
    				},
    			},
    			Tags: pulumi.StringArray{
    				exampleTag.Name,
    			},
    			EnforceSymmetricReturn: &scm.PbfRuleEnforceSymmetricReturnArgs{
    				Enabled: pulumi.Bool(true),
    			},
    			Schedule: pulumi.String("non-work-hours"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scm = Pulumi.Scm;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleTag = new Scm.Tag("example_tag", new()
        {
            Folder = "All",
            Name = "pbf-rule-tag-test-1",
            Color = "Red",
        });
    
        // --- PBF Rule Resource with discard action---
        var examplePbfRule = new Scm.PbfRule("example_pbf_rule", new()
        {
            Name = "pbf-test-rule-discard",
            Folder = "All",
            Description = "PBF rule for forwarding specific traffic.",
            From = new Scm.Inputs.PbfRuleFromArgs
            {
                Zones = new[]
                {
                    "zone-untrust",
                },
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Applications = new[]
            {
                "any",
            },
            Services = new[]
            {
                "service-http",
            },
            SourceUsers = new[]
            {
                "any",
            },
            Action = new Scm.Inputs.PbfRuleActionArgs
            {
                Discard = null,
            },
            Tags = new[]
            {
                exampleTag.Name,
            },
            EnforceSymmetricReturn = new Scm.Inputs.PbfRuleEnforceSymmetricReturnArgs
            {
                Enabled = false,
            },
            Schedule = "non-work-hours",
        });
    
        // --- PBF Rule Resource with no-pbf action---
        var exampleNoPbfRule = new Scm.PbfRule("example_no_pbf_rule", new()
        {
            Name = "pbf-test-rule-no-pbf",
            Folder = "All",
            Description = "PBF rule for forwarding specific traffic",
            From = new Scm.Inputs.PbfRuleFromArgs
            {
                Zones = new[]
                {
                    "zone-untrust",
                },
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Applications = new[]
            {
                "any",
            },
            Services = new[]
            {
                "service-https",
            },
            SourceUsers = new[]
            {
                "any",
            },
            Action = new Scm.Inputs.PbfRuleActionArgs
            {
                NoPbf = null,
            },
            Tags = new[]
            {
                exampleTag.Name,
            },
            EnforceSymmetricReturn = new Scm.Inputs.PbfRuleEnforceSymmetricReturnArgs
            {
                Enabled = false,
            },
            Schedule = "non-work-hours",
        });
    
        // --- PBF Rule Resource with forward action---
        var exampleForwardPbfRule = new Scm.PbfRule("example_forward_pbf_rule", new()
        {
            Name = "pbf-test-rule-forward",
            Folder = "All",
            Description = "PBF rule for forwarding specific traffic",
            From = new Scm.Inputs.PbfRuleFromArgs
            {
                Zones = new[]
                {
                    "zone-untrust",
                },
            },
            Sources = new[]
            {
                "any",
            },
            Destinations = new[]
            {
                "any",
            },
            Applications = new[]
            {
                "any",
            },
            Services = new[]
            {
                "service-http",
            },
            SourceUsers = new[]
            {
                "any",
            },
            Action = new Scm.Inputs.PbfRuleActionArgs
            {
                Forward = new Scm.Inputs.PbfRuleActionForwardArgs
                {
                    EgressInterface = "ethernet1/1",
                    Nexthop = new Scm.Inputs.PbfRuleActionForwardNexthopArgs
                    {
                        IpAddress = "192.168.1.254",
                    },
                    Monitor = new Scm.Inputs.PbfRuleActionForwardMonitorArgs
                    {
                        IpAddress = "8.8.8.10",
                        Profile = "test_tf_profile",
                        DisableIfUnreachable = true,
                    },
                },
            },
            Tags = new[]
            {
                exampleTag.Name,
            },
            EnforceSymmetricReturn = new Scm.Inputs.PbfRuleEnforceSymmetricReturnArgs
            {
                Enabled = true,
            },
            Schedule = "non-work-hours",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scm.Tag;
    import com.pulumi.scm.TagArgs;
    import com.pulumi.scm.PbfRule;
    import com.pulumi.scm.PbfRuleArgs;
    import com.pulumi.scm.inputs.PbfRuleFromArgs;
    import com.pulumi.scm.inputs.PbfRuleActionArgs;
    import com.pulumi.scm.inputs.PbfRuleActionDiscardArgs;
    import com.pulumi.scm.inputs.PbfRuleEnforceSymmetricReturnArgs;
    import com.pulumi.scm.inputs.PbfRuleActionNoPbfArgs;
    import com.pulumi.scm.inputs.PbfRuleActionForwardArgs;
    import com.pulumi.scm.inputs.PbfRuleActionForwardNexthopArgs;
    import com.pulumi.scm.inputs.PbfRuleActionForwardMonitorArgs;
    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 exampleTag = new Tag("exampleTag", TagArgs.builder()
                .folder("All")
                .name("pbf-rule-tag-test-1")
                .color("Red")
                .build());
    
            // --- PBF Rule Resource with discard action---
            var examplePbfRule = new PbfRule("examplePbfRule", PbfRuleArgs.builder()
                .name("pbf-test-rule-discard")
                .folder("All")
                .description("PBF rule for forwarding specific traffic.")
                .from(PbfRuleFromArgs.builder()
                    .zones("zone-untrust")
                    .build())
                .sources("any")
                .destinations("any")
                .applications("any")
                .services("service-http")
                .sourceUsers("any")
                .action(PbfRuleActionArgs.builder()
                    .discard(PbfRuleActionDiscardArgs.builder()
                        .build())
                    .build())
                .tags(exampleTag.name())
                .enforceSymmetricReturn(PbfRuleEnforceSymmetricReturnArgs.builder()
                    .enabled(false)
                    .build())
                .schedule("non-work-hours")
                .build());
    
            // --- PBF Rule Resource with no-pbf action---
            var exampleNoPbfRule = new PbfRule("exampleNoPbfRule", PbfRuleArgs.builder()
                .name("pbf-test-rule-no-pbf")
                .folder("All")
                .description("PBF rule for forwarding specific traffic")
                .from(PbfRuleFromArgs.builder()
                    .zones("zone-untrust")
                    .build())
                .sources("any")
                .destinations("any")
                .applications("any")
                .services("service-https")
                .sourceUsers("any")
                .action(PbfRuleActionArgs.builder()
                    .noPbf(PbfRuleActionNoPbfArgs.builder()
                        .build())
                    .build())
                .tags(exampleTag.name())
                .enforceSymmetricReturn(PbfRuleEnforceSymmetricReturnArgs.builder()
                    .enabled(false)
                    .build())
                .schedule("non-work-hours")
                .build());
    
            // --- PBF Rule Resource with forward action---
            var exampleForwardPbfRule = new PbfRule("exampleForwardPbfRule", PbfRuleArgs.builder()
                .name("pbf-test-rule-forward")
                .folder("All")
                .description("PBF rule for forwarding specific traffic")
                .from(PbfRuleFromArgs.builder()
                    .zones("zone-untrust")
                    .build())
                .sources("any")
                .destinations("any")
                .applications("any")
                .services("service-http")
                .sourceUsers("any")
                .action(PbfRuleActionArgs.builder()
                    .forward(PbfRuleActionForwardArgs.builder()
                        .egressInterface("ethernet1/1")
                        .nexthop(PbfRuleActionForwardNexthopArgs.builder()
                            .ipAddress("192.168.1.254")
                            .build())
                        .monitor(PbfRuleActionForwardMonitorArgs.builder()
                            .ipAddress("8.8.8.10")
                            .profile("test_tf_profile")
                            .disableIfUnreachable(true)
                            .build())
                        .build())
                    .build())
                .tags(exampleTag.name())
                .enforceSymmetricReturn(PbfRuleEnforceSymmetricReturnArgs.builder()
                    .enabled(true)
                    .build())
                .schedule("non-work-hours")
                .build());
    
        }
    }
    
    resources:
      exampleTag:
        type: scm:Tag
        name: example_tag
        properties:
          folder: All
          name: pbf-rule-tag-test-1
          color: Red
      # --- PBF Rule Resource with discard action---
      examplePbfRule:
        type: scm:PbfRule
        name: example_pbf_rule
        properties:
          name: pbf-test-rule-discard
          folder: All
          description: PBF rule for forwarding specific traffic.
          from:
            zones:
              - zone-untrust
          sources: # Source addresses
            - any
          destinations: # Destination addresses
            - any
          applications: # Applications
            - any
          services: # Services (ports/protocols)
            - service-http
          sourceUsers:
            - any
          action:
            discard: {}
          tags:
            - ${exampleTag.name}
          enforceSymmetricReturn:
            enabled: false
          schedule: non-work-hours
      # --- PBF Rule Resource with no-pbf action---
      exampleNoPbfRule:
        type: scm:PbfRule
        name: example_no_pbf_rule
        properties:
          name: pbf-test-rule-no-pbf
          folder: All
          description: PBF rule for forwarding specific traffic
          from:
            zones:
              - zone-untrust
          sources: # Source addresses
            - any
          destinations: # Destination addresses
            - any
          applications: # Applications
            - any
          services: # Services (ports/protocols)
            - service-https
          sourceUsers:
            - any
          action:
            noPbf: {}
          tags:
            - ${exampleTag.name}
          enforceSymmetricReturn:
            enabled: false
          schedule: non-work-hours
      # --- PBF Rule Resource with forward action---
      exampleForwardPbfRule:
        type: scm:PbfRule
        name: example_forward_pbf_rule
        properties:
          name: pbf-test-rule-forward
          folder: All
          description: PBF rule for forwarding specific traffic
          from:
            zones:
              - zone-untrust
          sources: # Source addresses
            - any
          destinations: # Destination addresses
            - any
          applications: # Applications
            - any
          services: # Services (ports/protocols)
            - service-http
          sourceUsers:
            - any
          action:
            forward:
              egressInterface: ethernet1/1
              nexthop:
                ipAddress: 192.168.1.254
              monitor:
                ipAddress: 8.8.8.10
                profile: test_tf_profile
                disableIfUnreachable: true
          tags:
            - ${exampleTag.name}
          enforceSymmetricReturn:
            enabled: true
          schedule: non-work-hours
    

    Create PbfRule Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new PbfRule(name: string, args?: PbfRuleArgs, opts?: CustomResourceOptions);
    @overload
    def PbfRule(resource_name: str,
                args: Optional[PbfRuleArgs] = None,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def PbfRule(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                action: Optional[PbfRuleActionArgs] = None,
                applications: Optional[Sequence[str]] = None,
                description: Optional[str] = None,
                destinations: Optional[Sequence[str]] = None,
                device: Optional[str] = None,
                enforce_symmetric_return: Optional[PbfRuleEnforceSymmetricReturnArgs] = None,
                folder: Optional[str] = None,
                from_: Optional[PbfRuleFromArgs] = None,
                name: Optional[str] = None,
                schedule: Optional[str] = None,
                services: Optional[Sequence[str]] = None,
                snippet: Optional[str] = None,
                source_users: Optional[Sequence[str]] = None,
                sources: Optional[Sequence[str]] = None,
                tags: Optional[Sequence[str]] = None)
    func NewPbfRule(ctx *Context, name string, args *PbfRuleArgs, opts ...ResourceOption) (*PbfRule, error)
    public PbfRule(string name, PbfRuleArgs? args = null, CustomResourceOptions? opts = null)
    public PbfRule(String name, PbfRuleArgs args)
    public PbfRule(String name, PbfRuleArgs args, CustomResourceOptions options)
    
    type: scm:PbfRule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args PbfRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PbfRuleArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PbfRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PbfRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PbfRuleArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var pbfRuleResource = new Scm.PbfRule("pbfRuleResource", new()
    {
        Action = new Scm.Inputs.PbfRuleActionArgs
        {
            Discard = null,
            Forward = new Scm.Inputs.PbfRuleActionForwardArgs
            {
                EgressInterface = "string",
                Monitor = new Scm.Inputs.PbfRuleActionForwardMonitorArgs
                {
                    DisableIfUnreachable = false,
                    IpAddress = "string",
                    Profile = "string",
                },
                Nexthop = new Scm.Inputs.PbfRuleActionForwardNexthopArgs
                {
                    Fqdn = "string",
                    IpAddress = "string",
                },
            },
            NoPbf = null,
        },
        Applications = new[]
        {
            "string",
        },
        Description = "string",
        Destinations = new[]
        {
            "string",
        },
        Device = "string",
        EnforceSymmetricReturn = new Scm.Inputs.PbfRuleEnforceSymmetricReturnArgs
        {
            Enabled = false,
            NexthopAddressLists = new[]
            {
                new Scm.Inputs.PbfRuleEnforceSymmetricReturnNexthopAddressListArgs
                {
                    Name = "string",
                },
            },
        },
        Folder = "string",
        From = new Scm.Inputs.PbfRuleFromArgs
        {
            Interfaces = new[]
            {
                "string",
            },
            Zones = new[]
            {
                "string",
            },
        },
        Name = "string",
        Schedule = "string",
        Services = new[]
        {
            "string",
        },
        Snippet = "string",
        SourceUsers = new[]
        {
            "string",
        },
        Sources = new[]
        {
            "string",
        },
        Tags = new[]
        {
            "string",
        },
    });
    
    example, err := scm.NewPbfRule(ctx, "pbfRuleResource", &scm.PbfRuleArgs{
    	Action: &scm.PbfRuleActionArgs{
    		Discard: &scm.PbfRuleActionDiscardArgs{},
    		Forward: &scm.PbfRuleActionForwardArgs{
    			EgressInterface: pulumi.String("string"),
    			Monitor: &scm.PbfRuleActionForwardMonitorArgs{
    				DisableIfUnreachable: pulumi.Bool(false),
    				IpAddress:            pulumi.String("string"),
    				Profile:              pulumi.String("string"),
    			},
    			Nexthop: &scm.PbfRuleActionForwardNexthopArgs{
    				Fqdn:      pulumi.String("string"),
    				IpAddress: pulumi.String("string"),
    			},
    		},
    		NoPbf: &scm.PbfRuleActionNoPbfArgs{},
    	},
    	Applications: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Destinations: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Device: pulumi.String("string"),
    	EnforceSymmetricReturn: &scm.PbfRuleEnforceSymmetricReturnArgs{
    		Enabled: pulumi.Bool(false),
    		NexthopAddressLists: scm.PbfRuleEnforceSymmetricReturnNexthopAddressListArray{
    			&scm.PbfRuleEnforceSymmetricReturnNexthopAddressListArgs{
    				Name: pulumi.String("string"),
    			},
    		},
    	},
    	Folder: pulumi.String("string"),
    	From: &scm.PbfRuleFromArgs{
    		Interfaces: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Zones: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	Name:     pulumi.String("string"),
    	Schedule: pulumi.String("string"),
    	Services: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Snippet: pulumi.String("string"),
    	SourceUsers: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Sources: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var pbfRuleResource = new PbfRule("pbfRuleResource", PbfRuleArgs.builder()
        .action(PbfRuleActionArgs.builder()
            .discard(PbfRuleActionDiscardArgs.builder()
                .build())
            .forward(PbfRuleActionForwardArgs.builder()
                .egressInterface("string")
                .monitor(PbfRuleActionForwardMonitorArgs.builder()
                    .disableIfUnreachable(false)
                    .ipAddress("string")
                    .profile("string")
                    .build())
                .nexthop(PbfRuleActionForwardNexthopArgs.builder()
                    .fqdn("string")
                    .ipAddress("string")
                    .build())
                .build())
            .noPbf(PbfRuleActionNoPbfArgs.builder()
                .build())
            .build())
        .applications("string")
        .description("string")
        .destinations("string")
        .device("string")
        .enforceSymmetricReturn(PbfRuleEnforceSymmetricReturnArgs.builder()
            .enabled(false)
            .nexthopAddressLists(PbfRuleEnforceSymmetricReturnNexthopAddressListArgs.builder()
                .name("string")
                .build())
            .build())
        .folder("string")
        .from(PbfRuleFromArgs.builder()
            .interfaces("string")
            .zones("string")
            .build())
        .name("string")
        .schedule("string")
        .services("string")
        .snippet("string")
        .sourceUsers("string")
        .sources("string")
        .tags("string")
        .build());
    
    pbf_rule_resource = scm.PbfRule("pbfRuleResource",
        action={
            "discard": {},
            "forward": {
                "egress_interface": "string",
                "monitor": {
                    "disable_if_unreachable": False,
                    "ip_address": "string",
                    "profile": "string",
                },
                "nexthop": {
                    "fqdn": "string",
                    "ip_address": "string",
                },
            },
            "no_pbf": {},
        },
        applications=["string"],
        description="string",
        destinations=["string"],
        device="string",
        enforce_symmetric_return={
            "enabled": False,
            "nexthop_address_lists": [{
                "name": "string",
            }],
        },
        folder="string",
        from_={
            "interfaces": ["string"],
            "zones": ["string"],
        },
        name="string",
        schedule="string",
        services=["string"],
        snippet="string",
        source_users=["string"],
        sources=["string"],
        tags=["string"])
    
    const pbfRuleResource = new scm.PbfRule("pbfRuleResource", {
        action: {
            discard: {},
            forward: {
                egressInterface: "string",
                monitor: {
                    disableIfUnreachable: false,
                    ipAddress: "string",
                    profile: "string",
                },
                nexthop: {
                    fqdn: "string",
                    ipAddress: "string",
                },
            },
            noPbf: {},
        },
        applications: ["string"],
        description: "string",
        destinations: ["string"],
        device: "string",
        enforceSymmetricReturn: {
            enabled: false,
            nexthopAddressLists: [{
                name: "string",
            }],
        },
        folder: "string",
        from: {
            interfaces: ["string"],
            zones: ["string"],
        },
        name: "string",
        schedule: "string",
        services: ["string"],
        snippet: "string",
        sourceUsers: ["string"],
        sources: ["string"],
        tags: ["string"],
    });
    
    type: scm:PbfRule
    properties:
        action:
            discard: {}
            forward:
                egressInterface: string
                monitor:
                    disableIfUnreachable: false
                    ipAddress: string
                    profile: string
                nexthop:
                    fqdn: string
                    ipAddress: string
            noPbf: {}
        applications:
            - string
        description: string
        destinations:
            - string
        device: string
        enforceSymmetricReturn:
            enabled: false
            nexthopAddressLists:
                - name: string
        folder: string
        from:
            interfaces:
                - string
            zones:
                - string
        name: string
        schedule: string
        services:
            - string
        snippet: string
        sourceUsers:
            - string
        sources:
            - string
        tags:
            - string
    

    PbfRule Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The PbfRule resource accepts the following input properties:

    Action PbfRuleAction
    Action
    Applications List<string>
    Applications
    Description string
    Description
    Destinations List<string>
    Destination addresses
    Device string
    The device in which the resource is defined
    EnforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    Folder string
    The folder in which the resource is defined
    From PbfRuleFrom
    From
    Name string
    PBF rule name
    Schedule string
    Schedule
    Services List<string>
    Services
    Snippet string
    The snippet in which the resource is defined
    SourceUsers List<string>
    Source users
    Sources List<string>
    Source addresses
    Tags List<string>
    Tags
    Action PbfRuleActionArgs
    Action
    Applications []string
    Applications
    Description string
    Description
    Destinations []string
    Destination addresses
    Device string
    The device in which the resource is defined
    EnforceSymmetricReturn PbfRuleEnforceSymmetricReturnArgs
    Enforce symmetric return
    Folder string
    The folder in which the resource is defined
    From PbfRuleFromArgs
    From
    Name string
    PBF rule name
    Schedule string
    Schedule
    Services []string
    Services
    Snippet string
    The snippet in which the resource is defined
    SourceUsers []string
    Source users
    Sources []string
    Source addresses
    Tags []string
    Tags
    action PbfRuleAction
    Action
    applications List<String>
    Applications
    description String
    Description
    destinations List<String>
    Destination addresses
    device String
    The device in which the resource is defined
    enforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    folder String
    The folder in which the resource is defined
    from PbfRuleFrom
    From
    name String
    PBF rule name
    schedule String
    Schedule
    services List<String>
    Services
    snippet String
    The snippet in which the resource is defined
    sourceUsers List<String>
    Source users
    sources List<String>
    Source addresses
    tags List<String>
    Tags
    action PbfRuleAction
    Action
    applications string[]
    Applications
    description string
    Description
    destinations string[]
    Destination addresses
    device string
    The device in which the resource is defined
    enforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    folder string
    The folder in which the resource is defined
    from PbfRuleFrom
    From
    name string
    PBF rule name
    schedule string
    Schedule
    services string[]
    Services
    snippet string
    The snippet in which the resource is defined
    sourceUsers string[]
    Source users
    sources string[]
    Source addresses
    tags string[]
    Tags
    action PbfRuleActionArgs
    Action
    applications Sequence[str]
    Applications
    description str
    Description
    destinations Sequence[str]
    Destination addresses
    device str
    The device in which the resource is defined
    enforce_symmetric_return PbfRuleEnforceSymmetricReturnArgs
    Enforce symmetric return
    folder str
    The folder in which the resource is defined
    from_ PbfRuleFromArgs
    From
    name str
    PBF rule name
    schedule str
    Schedule
    services Sequence[str]
    Services
    snippet str
    The snippet in which the resource is defined
    source_users Sequence[str]
    Source users
    sources Sequence[str]
    Source addresses
    tags Sequence[str]
    Tags
    action Property Map
    Action
    applications List<String>
    Applications
    description String
    Description
    destinations List<String>
    Destination addresses
    device String
    The device in which the resource is defined
    enforceSymmetricReturn Property Map
    Enforce symmetric return
    folder String
    The folder in which the resource is defined
    from Property Map
    From
    name String
    PBF rule name
    schedule String
    Schedule
    services List<String>
    Services
    snippet String
    The snippet in which the resource is defined
    sourceUsers List<String>
    Source users
    sources List<String>
    Source addresses
    tags List<String>
    Tags

    Outputs

    All input properties are implicitly available as output properties. Additionally, the PbfRule resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    Id string
    The provider-assigned unique ID for this managed resource.
    Tfid string
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String
    id string
    The provider-assigned unique ID for this managed resource.
    tfid string
    id str
    The provider-assigned unique ID for this managed resource.
    tfid str
    id String
    The provider-assigned unique ID for this managed resource.
    tfid String

    Look up Existing PbfRule Resource

    Get an existing PbfRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PbfRuleState, opts?: CustomResourceOptions): PbfRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            action: Optional[PbfRuleActionArgs] = None,
            applications: Optional[Sequence[str]] = None,
            description: Optional[str] = None,
            destinations: Optional[Sequence[str]] = None,
            device: Optional[str] = None,
            enforce_symmetric_return: Optional[PbfRuleEnforceSymmetricReturnArgs] = None,
            folder: Optional[str] = None,
            from_: Optional[PbfRuleFromArgs] = None,
            name: Optional[str] = None,
            schedule: Optional[str] = None,
            services: Optional[Sequence[str]] = None,
            snippet: Optional[str] = None,
            source_users: Optional[Sequence[str]] = None,
            sources: Optional[Sequence[str]] = None,
            tags: Optional[Sequence[str]] = None,
            tfid: Optional[str] = None) -> PbfRule
    func GetPbfRule(ctx *Context, name string, id IDInput, state *PbfRuleState, opts ...ResourceOption) (*PbfRule, error)
    public static PbfRule Get(string name, Input<string> id, PbfRuleState? state, CustomResourceOptions? opts = null)
    public static PbfRule get(String name, Output<String> id, PbfRuleState state, CustomResourceOptions options)
    resources:  _:    type: scm:PbfRule    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Action PbfRuleAction
    Action
    Applications List<string>
    Applications
    Description string
    Description
    Destinations List<string>
    Destination addresses
    Device string
    The device in which the resource is defined
    EnforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    Folder string
    The folder in which the resource is defined
    From PbfRuleFrom
    From
    Name string
    PBF rule name
    Schedule string
    Schedule
    Services List<string>
    Services
    Snippet string
    The snippet in which the resource is defined
    SourceUsers List<string>
    Source users
    Sources List<string>
    Source addresses
    Tags List<string>
    Tags
    Tfid string
    Action PbfRuleActionArgs
    Action
    Applications []string
    Applications
    Description string
    Description
    Destinations []string
    Destination addresses
    Device string
    The device in which the resource is defined
    EnforceSymmetricReturn PbfRuleEnforceSymmetricReturnArgs
    Enforce symmetric return
    Folder string
    The folder in which the resource is defined
    From PbfRuleFromArgs
    From
    Name string
    PBF rule name
    Schedule string
    Schedule
    Services []string
    Services
    Snippet string
    The snippet in which the resource is defined
    SourceUsers []string
    Source users
    Sources []string
    Source addresses
    Tags []string
    Tags
    Tfid string
    action PbfRuleAction
    Action
    applications List<String>
    Applications
    description String
    Description
    destinations List<String>
    Destination addresses
    device String
    The device in which the resource is defined
    enforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    folder String
    The folder in which the resource is defined
    from PbfRuleFrom
    From
    name String
    PBF rule name
    schedule String
    Schedule
    services List<String>
    Services
    snippet String
    The snippet in which the resource is defined
    sourceUsers List<String>
    Source users
    sources List<String>
    Source addresses
    tags List<String>
    Tags
    tfid String
    action PbfRuleAction
    Action
    applications string[]
    Applications
    description string
    Description
    destinations string[]
    Destination addresses
    device string
    The device in which the resource is defined
    enforceSymmetricReturn PbfRuleEnforceSymmetricReturn
    Enforce symmetric return
    folder string
    The folder in which the resource is defined
    from PbfRuleFrom
    From
    name string
    PBF rule name
    schedule string
    Schedule
    services string[]
    Services
    snippet string
    The snippet in which the resource is defined
    sourceUsers string[]
    Source users
    sources string[]
    Source addresses
    tags string[]
    Tags
    tfid string
    action PbfRuleActionArgs
    Action
    applications Sequence[str]
    Applications
    description str
    Description
    destinations Sequence[str]
    Destination addresses
    device str
    The device in which the resource is defined
    enforce_symmetric_return PbfRuleEnforceSymmetricReturnArgs
    Enforce symmetric return
    folder str
    The folder in which the resource is defined
    from_ PbfRuleFromArgs
    From
    name str
    PBF rule name
    schedule str
    Schedule
    services Sequence[str]
    Services
    snippet str
    The snippet in which the resource is defined
    source_users Sequence[str]
    Source users
    sources Sequence[str]
    Source addresses
    tags Sequence[str]
    Tags
    tfid str
    action Property Map
    Action
    applications List<String>
    Applications
    description String
    Description
    destinations List<String>
    Destination addresses
    device String
    The device in which the resource is defined
    enforceSymmetricReturn Property Map
    Enforce symmetric return
    folder String
    The folder in which the resource is defined
    from Property Map
    From
    name String
    PBF rule name
    schedule String
    Schedule
    services List<String>
    Services
    snippet String
    The snippet in which the resource is defined
    sourceUsers List<String>
    Source users
    sources List<String>
    Source addresses
    tags List<String>
    Tags
    tfid String

    Supporting Types

    PbfRuleAction, PbfRuleActionArgs

    PbfRuleActionForward, PbfRuleActionForwardArgs

    egressInterface String
    Egress interface
    monitor Property Map
    Monitor
    nexthop Property Map
    Nexthop

    PbfRuleActionForwardMonitor, PbfRuleActionForwardMonitorArgs

    DisableIfUnreachable bool
    Disable this rule if nexthop/monitor ip is unreachable?
    IpAddress string
    Monitor IP address
    Profile string
    Monitoring profile
    DisableIfUnreachable bool
    Disable this rule if nexthop/monitor ip is unreachable?
    IpAddress string
    Monitor IP address
    Profile string
    Monitoring profile
    disableIfUnreachable Boolean
    Disable this rule if nexthop/monitor ip is unreachable?
    ipAddress String
    Monitor IP address
    profile String
    Monitoring profile
    disableIfUnreachable boolean
    Disable this rule if nexthop/monitor ip is unreachable?
    ipAddress string
    Monitor IP address
    profile string
    Monitoring profile
    disable_if_unreachable bool
    Disable this rule if nexthop/monitor ip is unreachable?
    ip_address str
    Monitor IP address
    profile str
    Monitoring profile
    disableIfUnreachable Boolean
    Disable this rule if nexthop/monitor ip is unreachable?
    ipAddress String
    Monitor IP address
    profile String
    Monitoring profile

    PbfRuleActionForwardNexthop, PbfRuleActionForwardNexthopArgs

    Fqdn string
    Next hop FQDN
    IpAddress string
    Next hop IP address
    Fqdn string
    Next hop FQDN
    IpAddress string
    Next hop IP address
    fqdn String
    Next hop FQDN
    ipAddress String
    Next hop IP address
    fqdn string
    Next hop FQDN
    ipAddress string
    Next hop IP address
    fqdn str
    Next hop FQDN
    ip_address str
    Next hop IP address
    fqdn String
    Next hop FQDN
    ipAddress String
    Next hop IP address

    PbfRuleEnforceSymmetricReturn, PbfRuleEnforceSymmetricReturnArgs

    Enabled bool
    Enforce symmetric return?
    NexthopAddressLists []PbfRuleEnforceSymmetricReturnNexthopAddressList
    Next hop IP addresses
    enabled Boolean
    Enforce symmetric return?
    nexthopAddressLists List<PbfRuleEnforceSymmetricReturnNexthopAddressList>
    Next hop IP addresses
    enabled boolean
    Enforce symmetric return?
    nexthopAddressLists PbfRuleEnforceSymmetricReturnNexthopAddressList[]
    Next hop IP addresses
    enabled Boolean
    Enforce symmetric return?
    nexthopAddressLists List<Property Map>
    Next hop IP addresses

    PbfRuleEnforceSymmetricReturnNexthopAddressList, PbfRuleEnforceSymmetricReturnNexthopAddressListArgs

    Name string
    Next hop IP address
    Name string
    Next hop IP address
    name String
    Next hop IP address
    name string
    Next hop IP address
    name str
    Next hop IP address
    name String
    Next hop IP address

    PbfRuleFrom, PbfRuleFromArgs

    Interfaces List<string>
    Source interfaces
    Zones List<string>
    Source zones
    Interfaces []string
    Source interfaces
    Zones []string
    Source zones
    interfaces List<String>
    Source interfaces
    zones List<String>
    Source zones
    interfaces string[]
    Source interfaces
    zones string[]
    Source zones
    interfaces Sequence[str]
    Source interfaces
    zones Sequence[str]
    Source zones
    interfaces List<String>
    Source interfaces
    zones List<String>
    Source zones

    Package Details

    Repository
    scm pulumi/pulumi-scm
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scm Terraform Provider.
    scm logo
    Strata Cloud Manager v0.4.3 published on Saturday, Nov 8, 2025 by Pulumi
      Meet Neo: Your AI Platform Teammate