1. Packages
  2. Strata Cloud Manager Provider
  3. API Docs
  4. QosPolicyRule
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

    QosPolicyRule resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scm from "@pulumi/scm";
    
    // --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
    const anchorQosRule = new scm.QosPolicyRule("anchor_qos_rule", {
        name: "anchor-qos-rule",
        description: "Base rule for testing 'before' and 'after' positioning.",
        folder: "All",
        position: "pre",
        action: {
            "class": "2",
        },
        schedule: "non-work-hours",
        dscpTos: {
            codepoints: [{
                name: "Set-EF",
                type: {
                    ef: {},
                },
            }],
        },
    });
    // --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
    const ruleTopQosRule = new scm.QosPolicyRule("rule_top_qos_rule", {
        name: "top-absolute-qos-rule",
        description: "Placed at the very TOP of the QoS rulebase (Highest Priority).",
        folder: "All",
        position: "pre",
        relativePosition: "top",
        action: {
            "class": "2",
        },
    });
    const ruleBottomQosRule = new scm.QosPolicyRule("rule_bottom_qos_rule", {
        name: "bottom-absolute-qos-rule",
        description: "Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)",
        folder: "All",
        position: "pre",
        relativePosition: "bottom",
        action: {
            "class": "3",
        },
    });
    // --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
    const ruleBeforeAnchorQos = new scm.QosPolicyRule("rule_before_anchor_qos", {
        name: "before-anchor-qos-rule",
        description: "Positioned immediately BEFORE the anchor-qos-rule.",
        folder: "All",
        position: "pre",
        relativePosition: "before",
        targetRule: anchorQosRule.id,
        action: {
            "class": "5",
        },
    });
    const ruleAfterAnchorQos = new scm.QosPolicyRule("rule_after_anchor_qos", {
        name: "after-anchor-qos-rule",
        description: "Positioned immediately AFTER the anchor-qos-rule.",
        folder: "All",
        position: "pre",
        relativePosition: "after",
        targetRule: anchorQosRule.id,
        action: {
            "class": "4",
        },
    });
    
    import pulumi
    import pulumi_scm as scm
    
    # --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
    anchor_qos_rule = scm.QosPolicyRule("anchor_qos_rule",
        name="anchor-qos-rule",
        description="Base rule for testing 'before' and 'after' positioning.",
        folder="All",
        position="pre",
        action={
            "class_": "2",
        },
        schedule="non-work-hours",
        dscp_tos={
            "codepoints": [{
                "name": "Set-EF",
                "type": {
                    "ef": {},
                },
            }],
        })
    # --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
    rule_top_qos_rule = scm.QosPolicyRule("rule_top_qos_rule",
        name="top-absolute-qos-rule",
        description="Placed at the very TOP of the QoS rulebase (Highest Priority).",
        folder="All",
        position="pre",
        relative_position="top",
        action={
            "class_": "2",
        })
    rule_bottom_qos_rule = scm.QosPolicyRule("rule_bottom_qos_rule",
        name="bottom-absolute-qos-rule",
        description="Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)",
        folder="All",
        position="pre",
        relative_position="bottom",
        action={
            "class_": "3",
        })
    # --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
    rule_before_anchor_qos = scm.QosPolicyRule("rule_before_anchor_qos",
        name="before-anchor-qos-rule",
        description="Positioned immediately BEFORE the anchor-qos-rule.",
        folder="All",
        position="pre",
        relative_position="before",
        target_rule=anchor_qos_rule.id,
        action={
            "class_": "5",
        })
    rule_after_anchor_qos = scm.QosPolicyRule("rule_after_anchor_qos",
        name="after-anchor-qos-rule",
        description="Positioned immediately AFTER the anchor-qos-rule.",
        folder="All",
        position="pre",
        relative_position="after",
        target_rule=anchor_qos_rule.id,
        action={
            "class_": "4",
        })
    
    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 {
    		// --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
    		anchorQosRule, err := scm.NewQosPolicyRule(ctx, "anchor_qos_rule", &scm.QosPolicyRuleArgs{
    			Name:        pulumi.String("anchor-qos-rule"),
    			Description: pulumi.String("Base rule for testing 'before' and 'after' positioning."),
    			Folder:      pulumi.String("All"),
    			Position:    pulumi.String("pre"),
    			Action: &scm.QosPolicyRuleActionArgs{
    				Class: pulumi.String("2"),
    			},
    			Schedule: pulumi.String("non-work-hours"),
    			DscpTos: &scm.QosPolicyRuleDscpTosArgs{
    				Codepoints: scm.QosPolicyRuleDscpTosCodepointArray{
    					&scm.QosPolicyRuleDscpTosCodepointArgs{
    						Name: pulumi.String("Set-EF"),
    						Type: &scm.QosPolicyRuleDscpTosCodepointTypeArgs{
    							Ef: &scm.QosPolicyRuleDscpTosCodepointTypeEfArgs{},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
    		_, err = scm.NewQosPolicyRule(ctx, "rule_top_qos_rule", &scm.QosPolicyRuleArgs{
    			Name:             pulumi.String("top-absolute-qos-rule"),
    			Description:      pulumi.String("Placed at the very TOP of the QoS rulebase (Highest Priority)."),
    			Folder:           pulumi.String("All"),
    			Position:         pulumi.String("pre"),
    			RelativePosition: pulumi.String("top"),
    			Action: &scm.QosPolicyRuleActionArgs{
    				Class: pulumi.String("2"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scm.NewQosPolicyRule(ctx, "rule_bottom_qos_rule", &scm.QosPolicyRuleArgs{
    			Name:             pulumi.String("bottom-absolute-qos-rule"),
    			Description:      pulumi.String("Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)"),
    			Folder:           pulumi.String("All"),
    			Position:         pulumi.String("pre"),
    			RelativePosition: pulumi.String("bottom"),
    			Action: &scm.QosPolicyRuleActionArgs{
    				Class: pulumi.String("3"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		// --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
    		_, err = scm.NewQosPolicyRule(ctx, "rule_before_anchor_qos", &scm.QosPolicyRuleArgs{
    			Name:             pulumi.String("before-anchor-qos-rule"),
    			Description:      pulumi.String("Positioned immediately BEFORE the anchor-qos-rule."),
    			Folder:           pulumi.String("All"),
    			Position:         pulumi.String("pre"),
    			RelativePosition: pulumi.String("before"),
    			TargetRule:       anchorQosRule.ID(),
    			Action: &scm.QosPolicyRuleActionArgs{
    				Class: pulumi.String("5"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scm.NewQosPolicyRule(ctx, "rule_after_anchor_qos", &scm.QosPolicyRuleArgs{
    			Name:             pulumi.String("after-anchor-qos-rule"),
    			Description:      pulumi.String("Positioned immediately AFTER the anchor-qos-rule."),
    			Folder:           pulumi.String("All"),
    			Position:         pulumi.String("pre"),
    			RelativePosition: pulumi.String("after"),
    			TargetRule:       anchorQosRule.ID(),
    			Action: &scm.QosPolicyRuleActionArgs{
    				Class: pulumi.String("4"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scm = Pulumi.Scm;
    
    return await Deployment.RunAsync(() => 
    {
        // --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
        var anchorQosRule = new Scm.QosPolicyRule("anchor_qos_rule", new()
        {
            Name = "anchor-qos-rule",
            Description = "Base rule for testing 'before' and 'after' positioning.",
            Folder = "All",
            Position = "pre",
            Action = new Scm.Inputs.QosPolicyRuleActionArgs
            {
                Class = "2",
            },
            Schedule = "non-work-hours",
            DscpTos = new Scm.Inputs.QosPolicyRuleDscpTosArgs
            {
                Codepoints = new[]
                {
                    new Scm.Inputs.QosPolicyRuleDscpTosCodepointArgs
                    {
                        Name = "Set-EF",
                        Type = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeArgs
                        {
                            Ef = null,
                        },
                    },
                },
            },
        });
    
        // --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
        var ruleTopQosRule = new Scm.QosPolicyRule("rule_top_qos_rule", new()
        {
            Name = "top-absolute-qos-rule",
            Description = "Placed at the very TOP of the QoS rulebase (Highest Priority).",
            Folder = "All",
            Position = "pre",
            RelativePosition = "top",
            Action = new Scm.Inputs.QosPolicyRuleActionArgs
            {
                Class = "2",
            },
        });
    
        var ruleBottomQosRule = new Scm.QosPolicyRule("rule_bottom_qos_rule", new()
        {
            Name = "bottom-absolute-qos-rule",
            Description = "Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)",
            Folder = "All",
            Position = "pre",
            RelativePosition = "bottom",
            Action = new Scm.Inputs.QosPolicyRuleActionArgs
            {
                Class = "3",
            },
        });
    
        // --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
        var ruleBeforeAnchorQos = new Scm.QosPolicyRule("rule_before_anchor_qos", new()
        {
            Name = "before-anchor-qos-rule",
            Description = "Positioned immediately BEFORE the anchor-qos-rule.",
            Folder = "All",
            Position = "pre",
            RelativePosition = "before",
            TargetRule = anchorQosRule.Id,
            Action = new Scm.Inputs.QosPolicyRuleActionArgs
            {
                Class = "5",
            },
        });
    
        var ruleAfterAnchorQos = new Scm.QosPolicyRule("rule_after_anchor_qos", new()
        {
            Name = "after-anchor-qos-rule",
            Description = "Positioned immediately AFTER the anchor-qos-rule.",
            Folder = "All",
            Position = "pre",
            RelativePosition = "after",
            TargetRule = anchorQosRule.Id,
            Action = new Scm.Inputs.QosPolicyRuleActionArgs
            {
                Class = "4",
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scm.QosPolicyRule;
    import com.pulumi.scm.QosPolicyRuleArgs;
    import com.pulumi.scm.inputs.QosPolicyRuleActionArgs;
    import com.pulumi.scm.inputs.QosPolicyRuleDscpTosArgs;
    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) {
            // --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
            var anchorQosRule = new QosPolicyRule("anchorQosRule", QosPolicyRuleArgs.builder()
                .name("anchor-qos-rule")
                .description("Base rule for testing 'before' and 'after' positioning.")
                .folder("All")
                .position("pre")
                .action(QosPolicyRuleActionArgs.builder()
                    .class_("2")
                    .build())
                .schedule("non-work-hours")
                .dscpTos(QosPolicyRuleDscpTosArgs.builder()
                    .codepoints(QosPolicyRuleDscpTosCodepointArgs.builder()
                        .name("Set-EF")
                        .type(QosPolicyRuleDscpTosCodepointTypeArgs.builder()
                            .ef(QosPolicyRuleDscpTosCodepointTypeEfArgs.builder()
                                .build())
                            .build())
                        .build())
                    .build())
                .build());
    
            // --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
            var ruleTopQosRule = new QosPolicyRule("ruleTopQosRule", QosPolicyRuleArgs.builder()
                .name("top-absolute-qos-rule")
                .description("Placed at the very TOP of the QoS rulebase (Highest Priority).")
                .folder("All")
                .position("pre")
                .relativePosition("top")
                .action(QosPolicyRuleActionArgs.builder()
                    .class_("2")
                    .build())
                .build());
    
            var ruleBottomQosRule = new QosPolicyRule("ruleBottomQosRule", QosPolicyRuleArgs.builder()
                .name("bottom-absolute-qos-rule")
                .description("Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)")
                .folder("All")
                .position("pre")
                .relativePosition("bottom")
                .action(QosPolicyRuleActionArgs.builder()
                    .class_("3")
                    .build())
                .build());
    
            // --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
            var ruleBeforeAnchorQos = new QosPolicyRule("ruleBeforeAnchorQos", QosPolicyRuleArgs.builder()
                .name("before-anchor-qos-rule")
                .description("Positioned immediately BEFORE the anchor-qos-rule.")
                .folder("All")
                .position("pre")
                .relativePosition("before")
                .targetRule(anchorQosRule.id())
                .action(QosPolicyRuleActionArgs.builder()
                    .class_("5")
                    .build())
                .build());
    
            var ruleAfterAnchorQos = new QosPolicyRule("ruleAfterAnchorQos", QosPolicyRuleArgs.builder()
                .name("after-anchor-qos-rule")
                .description("Positioned immediately AFTER the anchor-qos-rule.")
                .folder("All")
                .position("pre")
                .relativePosition("after")
                .targetRule(anchorQosRule.id())
                .action(QosPolicyRuleActionArgs.builder()
                    .class_("4")
                    .build())
                .build());
    
        }
    }
    
    resources:
      # --- 2. ANCHOR QOS POLICY RULE (Used for relative positioning) ---
      anchorQosRule:
        type: scm:QosPolicyRule
        name: anchor_qos_rule
        properties:
          name: anchor-qos-rule
          description: Base rule for testing 'before' and 'after' positioning.
          folder: All
          position: pre
          action:
            class: '2'
          schedule: non-work-hours
          dscpTos:
            codepoints:
              - name: Set-EF
                type:
                  ef: {}
      # --- 3. ABSOLUTE POSITIONING Examples ("top" and "bottom") ---
      ruleTopQosRule:
        type: scm:QosPolicyRule
        name: rule_top_qos_rule
        properties:
          name: top-absolute-qos-rule
          description: Placed at the very TOP of the QoS rulebase (Highest Priority).
          folder: All
          position: pre
          relativePosition: top
          action:
            class: '2'
      ruleBottomQosRule:
        type: scm:QosPolicyRule
        name: rule_bottom_qos_rule
        properties:
          name: bottom-absolute-qos-rule
          description: Placed at the very BOTTOM of the QoS rulebase (Lowest Priority)
          folder: All
          position: pre
          relativePosition: bottom
          action:
            class: '3'
      # --- 4. RELATIVE POSITIONING Examples ("before" and "after") ---
      ruleBeforeAnchorQos:
        type: scm:QosPolicyRule
        name: rule_before_anchor_qos
        properties:
          name: before-anchor-qos-rule
          description: Positioned immediately BEFORE the anchor-qos-rule.
          folder: All
          position: pre
          relativePosition: before
          targetRule: ${anchorQosRule.id}
          action:
            class: '5'
      ruleAfterAnchorQos:
        type: scm:QosPolicyRule
        name: rule_after_anchor_qos
        properties:
          name: after-anchor-qos-rule
          description: Positioned immediately AFTER the anchor-qos-rule.
          folder: All
          position: pre
          relativePosition: after
          targetRule: ${anchorQosRule.id}
          action:
            class: '4'
    

    Create QosPolicyRule Resource

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

    Constructor syntax

    new QosPolicyRule(name: string, args: QosPolicyRuleArgs, opts?: CustomResourceOptions);
    @overload
    def QosPolicyRule(resource_name: str,
                      args: QosPolicyRuleArgs,
                      opts: Optional[ResourceOptions] = None)
    
    @overload
    def QosPolicyRule(resource_name: str,
                      opts: Optional[ResourceOptions] = None,
                      action: Optional[QosPolicyRuleActionArgs] = None,
                      description: Optional[str] = None,
                      device: Optional[str] = None,
                      dscp_tos: Optional[QosPolicyRuleDscpTosArgs] = None,
                      folder: Optional[str] = None,
                      name: Optional[str] = None,
                      position: Optional[str] = None,
                      relative_position: Optional[str] = None,
                      schedule: Optional[str] = None,
                      snippet: Optional[str] = None,
                      target_rule: Optional[str] = None)
    func NewQosPolicyRule(ctx *Context, name string, args QosPolicyRuleArgs, opts ...ResourceOption) (*QosPolicyRule, error)
    public QosPolicyRule(string name, QosPolicyRuleArgs args, CustomResourceOptions? opts = null)
    public QosPolicyRule(String name, QosPolicyRuleArgs args)
    public QosPolicyRule(String name, QosPolicyRuleArgs args, CustomResourceOptions options)
    
    type: scm:QosPolicyRule
    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 QosPolicyRuleArgs
    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 QosPolicyRuleArgs
    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 QosPolicyRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args QosPolicyRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args QosPolicyRuleArgs
    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 qosPolicyRuleResource = new Scm.QosPolicyRule("qosPolicyRuleResource", new()
    {
        Action = new Scm.Inputs.QosPolicyRuleActionArgs
        {
            Class = "string",
        },
        Description = "string",
        Device = "string",
        DscpTos = new Scm.Inputs.QosPolicyRuleDscpTosArgs
        {
            Codepoints = new[]
            {
                new Scm.Inputs.QosPolicyRuleDscpTosCodepointArgs
                {
                    Name = "string",
                    Type = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeArgs
                    {
                        Af = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeAfArgs
                        {
                            Codepoint = "string",
                        },
                        Cs = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeCsArgs
                        {
                            Codepoint = "string",
                        },
                        Custom = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeCustomArgs
                        {
                            Codepoint = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeCustomCodepointArgs
                            {
                                BinaryValue = "string",
                                CodepointName = "string",
                            },
                        },
                        Ef = null,
                        Tos = new Scm.Inputs.QosPolicyRuleDscpTosCodepointTypeTosArgs
                        {
                            Codepoint = "string",
                        },
                    },
                },
            },
        },
        Folder = "string",
        Name = "string",
        Position = "string",
        RelativePosition = "string",
        Schedule = "string",
        Snippet = "string",
        TargetRule = "string",
    });
    
    example, err := scm.NewQosPolicyRule(ctx, "qosPolicyRuleResource", &scm.QosPolicyRuleArgs{
    	Action: &scm.QosPolicyRuleActionArgs{
    		Class: pulumi.String("string"),
    	},
    	Description: pulumi.String("string"),
    	Device:      pulumi.String("string"),
    	DscpTos: &scm.QosPolicyRuleDscpTosArgs{
    		Codepoints: scm.QosPolicyRuleDscpTosCodepointArray{
    			&scm.QosPolicyRuleDscpTosCodepointArgs{
    				Name: pulumi.String("string"),
    				Type: &scm.QosPolicyRuleDscpTosCodepointTypeArgs{
    					Af: &scm.QosPolicyRuleDscpTosCodepointTypeAfArgs{
    						Codepoint: pulumi.String("string"),
    					},
    					Cs: &scm.QosPolicyRuleDscpTosCodepointTypeCsArgs{
    						Codepoint: pulumi.String("string"),
    					},
    					Custom: &scm.QosPolicyRuleDscpTosCodepointTypeCustomArgs{
    						Codepoint: &scm.QosPolicyRuleDscpTosCodepointTypeCustomCodepointArgs{
    							BinaryValue:   pulumi.String("string"),
    							CodepointName: pulumi.String("string"),
    						},
    					},
    					Ef: &scm.QosPolicyRuleDscpTosCodepointTypeEfArgs{},
    					Tos: &scm.QosPolicyRuleDscpTosCodepointTypeTosArgs{
    						Codepoint: pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    	Folder:           pulumi.String("string"),
    	Name:             pulumi.String("string"),
    	Position:         pulumi.String("string"),
    	RelativePosition: pulumi.String("string"),
    	Schedule:         pulumi.String("string"),
    	Snippet:          pulumi.String("string"),
    	TargetRule:       pulumi.String("string"),
    })
    
    var qosPolicyRuleResource = new QosPolicyRule("qosPolicyRuleResource", QosPolicyRuleArgs.builder()
        .action(QosPolicyRuleActionArgs.builder()
            .class_("string")
            .build())
        .description("string")
        .device("string")
        .dscpTos(QosPolicyRuleDscpTosArgs.builder()
            .codepoints(QosPolicyRuleDscpTosCodepointArgs.builder()
                .name("string")
                .type(QosPolicyRuleDscpTosCodepointTypeArgs.builder()
                    .af(QosPolicyRuleDscpTosCodepointTypeAfArgs.builder()
                        .codepoint("string")
                        .build())
                    .cs(QosPolicyRuleDscpTosCodepointTypeCsArgs.builder()
                        .codepoint("string")
                        .build())
                    .custom(QosPolicyRuleDscpTosCodepointTypeCustomArgs.builder()
                        .codepoint(QosPolicyRuleDscpTosCodepointTypeCustomCodepointArgs.builder()
                            .binaryValue("string")
                            .codepointName("string")
                            .build())
                        .build())
                    .ef(QosPolicyRuleDscpTosCodepointTypeEfArgs.builder()
                        .build())
                    .tos(QosPolicyRuleDscpTosCodepointTypeTosArgs.builder()
                        .codepoint("string")
                        .build())
                    .build())
                .build())
            .build())
        .folder("string")
        .name("string")
        .position("string")
        .relativePosition("string")
        .schedule("string")
        .snippet("string")
        .targetRule("string")
        .build());
    
    qos_policy_rule_resource = scm.QosPolicyRule("qosPolicyRuleResource",
        action={
            "class_": "string",
        },
        description="string",
        device="string",
        dscp_tos={
            "codepoints": [{
                "name": "string",
                "type": {
                    "af": {
                        "codepoint": "string",
                    },
                    "cs": {
                        "codepoint": "string",
                    },
                    "custom": {
                        "codepoint": {
                            "binary_value": "string",
                            "codepoint_name": "string",
                        },
                    },
                    "ef": {},
                    "tos": {
                        "codepoint": "string",
                    },
                },
            }],
        },
        folder="string",
        name="string",
        position="string",
        relative_position="string",
        schedule="string",
        snippet="string",
        target_rule="string")
    
    const qosPolicyRuleResource = new scm.QosPolicyRule("qosPolicyRuleResource", {
        action: {
            "class": "string",
        },
        description: "string",
        device: "string",
        dscpTos: {
            codepoints: [{
                name: "string",
                type: {
                    af: {
                        codepoint: "string",
                    },
                    cs: {
                        codepoint: "string",
                    },
                    custom: {
                        codepoint: {
                            binaryValue: "string",
                            codepointName: "string",
                        },
                    },
                    ef: {},
                    tos: {
                        codepoint: "string",
                    },
                },
            }],
        },
        folder: "string",
        name: "string",
        position: "string",
        relativePosition: "string",
        schedule: "string",
        snippet: "string",
        targetRule: "string",
    });
    
    type: scm:QosPolicyRule
    properties:
        action:
            class: string
        description: string
        device: string
        dscpTos:
            codepoints:
                - name: string
                  type:
                    af:
                        codepoint: string
                    cs:
                        codepoint: string
                    custom:
                        codepoint:
                            binaryValue: string
                            codepointName: string
                    ef: {}
                    tos:
                        codepoint: string
        folder: string
        name: string
        position: string
        relativePosition: string
        schedule: string
        snippet: string
        targetRule: string
    

    QosPolicyRule 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 QosPolicyRule resource accepts the following input properties:

    Action QosPolicyRuleAction
    Action
    Description string
    Description
    Device string
    The device in which the resource is defined
    DscpTos QosPolicyRuleDscpTos
    Dscp tos
    Folder string
    The folder in which the resource is defined
    Name string
    Name
    Position string
    The relative position of the rule
    RelativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    Schedule string
    Schedule
    Snippet string
    The snippet in which the resource is defined
    TargetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    Action QosPolicyRuleActionArgs
    Action
    Description string
    Description
    Device string
    The device in which the resource is defined
    DscpTos QosPolicyRuleDscpTosArgs
    Dscp tos
    Folder string
    The folder in which the resource is defined
    Name string
    Name
    Position string
    The relative position of the rule
    RelativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    Schedule string
    Schedule
    Snippet string
    The snippet in which the resource is defined
    TargetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    action QosPolicyRuleAction
    Action
    description String
    Description
    device String
    The device in which the resource is defined
    dscpTos QosPolicyRuleDscpTos
    Dscp tos
    folder String
    The folder in which the resource is defined
    name String
    Name
    position String
    The relative position of the rule
    relativePosition String
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule String
    Schedule
    snippet String
    The snippet in which the resource is defined
    targetRule String
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    action QosPolicyRuleAction
    Action
    description string
    Description
    device string
    The device in which the resource is defined
    dscpTos QosPolicyRuleDscpTos
    Dscp tos
    folder string
    The folder in which the resource is defined
    name string
    Name
    position string
    The relative position of the rule
    relativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule string
    Schedule
    snippet string
    The snippet in which the resource is defined
    targetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    action QosPolicyRuleActionArgs
    Action
    description str
    Description
    device str
    The device in which the resource is defined
    dscp_tos QosPolicyRuleDscpTosArgs
    Dscp tos
    folder str
    The folder in which the resource is defined
    name str
    Name
    position str
    The relative position of the rule
    relative_position str
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule str
    Schedule
    snippet str
    The snippet in which the resource is defined
    target_rule str
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    action Property Map
    Action
    description String
    Description
    device String
    The device in which the resource is defined
    dscpTos Property Map
    Dscp tos
    folder String
    The folder in which the resource is defined
    name String
    Name
    position String
    The relative position of the rule
    relativePosition String
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule String
    Schedule
    snippet String
    The snippet in which the resource is defined
    targetRule String
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".

    Outputs

    All input properties are implicitly available as output properties. Additionally, the QosPolicyRule 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 QosPolicyRule Resource

    Get an existing QosPolicyRule 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?: QosPolicyRuleState, opts?: CustomResourceOptions): QosPolicyRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            action: Optional[QosPolicyRuleActionArgs] = None,
            description: Optional[str] = None,
            device: Optional[str] = None,
            dscp_tos: Optional[QosPolicyRuleDscpTosArgs] = None,
            folder: Optional[str] = None,
            name: Optional[str] = None,
            position: Optional[str] = None,
            relative_position: Optional[str] = None,
            schedule: Optional[str] = None,
            snippet: Optional[str] = None,
            target_rule: Optional[str] = None,
            tfid: Optional[str] = None) -> QosPolicyRule
    func GetQosPolicyRule(ctx *Context, name string, id IDInput, state *QosPolicyRuleState, opts ...ResourceOption) (*QosPolicyRule, error)
    public static QosPolicyRule Get(string name, Input<string> id, QosPolicyRuleState? state, CustomResourceOptions? opts = null)
    public static QosPolicyRule get(String name, Output<String> id, QosPolicyRuleState state, CustomResourceOptions options)
    resources:  _:    type: scm:QosPolicyRule    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 QosPolicyRuleAction
    Action
    Description string
    Description
    Device string
    The device in which the resource is defined
    DscpTos QosPolicyRuleDscpTos
    Dscp tos
    Folder string
    The folder in which the resource is defined
    Name string
    Name
    Position string
    The relative position of the rule
    RelativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    Schedule string
    Schedule
    Snippet string
    The snippet in which the resource is defined
    TargetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    Tfid string
    Action QosPolicyRuleActionArgs
    Action
    Description string
    Description
    Device string
    The device in which the resource is defined
    DscpTos QosPolicyRuleDscpTosArgs
    Dscp tos
    Folder string
    The folder in which the resource is defined
    Name string
    Name
    Position string
    The relative position of the rule
    RelativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    Schedule string
    Schedule
    Snippet string
    The snippet in which the resource is defined
    TargetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    Tfid string
    action QosPolicyRuleAction
    Action
    description String
    Description
    device String
    The device in which the resource is defined
    dscpTos QosPolicyRuleDscpTos
    Dscp tos
    folder String
    The folder in which the resource is defined
    name String
    Name
    position String
    The relative position of the rule
    relativePosition String
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule String
    Schedule
    snippet String
    The snippet in which the resource is defined
    targetRule String
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    tfid String
    action QosPolicyRuleAction
    Action
    description string
    Description
    device string
    The device in which the resource is defined
    dscpTos QosPolicyRuleDscpTos
    Dscp tos
    folder string
    The folder in which the resource is defined
    name string
    Name
    position string
    The relative position of the rule
    relativePosition string
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule string
    Schedule
    snippet string
    The snippet in which the resource is defined
    targetRule string
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    tfid string
    action QosPolicyRuleActionArgs
    Action
    description str
    Description
    device str
    The device in which the resource is defined
    dscp_tos QosPolicyRuleDscpTosArgs
    Dscp tos
    folder str
    The folder in which the resource is defined
    name str
    Name
    position str
    The relative position of the rule
    relative_position str
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule str
    Schedule
    snippet str
    The snippet in which the resource is defined
    target_rule str
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    tfid str
    action Property Map
    Action
    description String
    Description
    device String
    The device in which the resource is defined
    dscpTos Property Map
    Dscp tos
    folder String
    The folder in which the resource is defined
    name String
    Name
    position String
    The relative position of the rule
    relativePosition String
    Relative positioning rule. String must be one of these: "before", "after", "top", "bottom". If not specified, rule is created at the bottom of the ruleset.
    schedule String
    Schedule
    snippet String
    The snippet in which the resource is defined
    targetRule String
    The name or UUID of the rule to position this rule relative to. Required when relative_position is "before" or "after".
    tfid String

    Supporting Types

    QosPolicyRuleAction, QosPolicyRuleActionArgs

    Class string
    Class
    Class string
    Class
    class_ String
    Class
    class string
    Class
    class_ str
    Class
    class String
    Class

    QosPolicyRuleDscpTos, QosPolicyRuleDscpTosArgs

    QosPolicyRuleDscpTosCodepoint, QosPolicyRuleDscpTosCodepointArgs

    name String
    Name
    type Property Map
    Type

    QosPolicyRuleDscpTosCodepointType, QosPolicyRuleDscpTosCodepointTypeArgs

    QosPolicyRuleDscpTosCodepointTypeAf, QosPolicyRuleDscpTosCodepointTypeAfArgs

    Codepoint string
    Codepoint
    Codepoint string
    Codepoint
    codepoint String
    Codepoint
    codepoint string
    Codepoint
    codepoint str
    Codepoint
    codepoint String
    Codepoint

    QosPolicyRuleDscpTosCodepointTypeCs, QosPolicyRuleDscpTosCodepointTypeCsArgs

    Codepoint string
    Codepoint
    Codepoint string
    Codepoint
    codepoint String
    Codepoint
    codepoint string
    Codepoint
    codepoint str
    Codepoint
    codepoint String
    Codepoint

    QosPolicyRuleDscpTosCodepointTypeCustom, QosPolicyRuleDscpTosCodepointTypeCustomArgs

    QosPolicyRuleDscpTosCodepointTypeCustomCodepoint, QosPolicyRuleDscpTosCodepointTypeCustomCodepointArgs

    BinaryValue string
    Binary value
    CodepointName string
    Codepoint name
    BinaryValue string
    Binary value
    CodepointName string
    Codepoint name
    binaryValue String
    Binary value
    codepointName String
    Codepoint name
    binaryValue string
    Binary value
    codepointName string
    Codepoint name
    binary_value str
    Binary value
    codepoint_name str
    Codepoint name
    binaryValue String
    Binary value
    codepointName String
    Codepoint name

    QosPolicyRuleDscpTosCodepointTypeTos, QosPolicyRuleDscpTosCodepointTypeTosArgs

    Codepoint string
    Codepoint
    Codepoint string
    Codepoint
    codepoint String
    Codepoint
    codepoint string
    Codepoint
    codepoint str
    Codepoint
    codepoint String
    Codepoint

    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