1. Packages
  2. Strata Cloud Manager Provider
  3. API Docs
  4. QosProfile
Strata Cloud Manager v1.0.4 published on Saturday, Feb 14, 2026 by Pulumi
scm logo
Strata Cloud Manager v1.0.4 published on Saturday, Feb 14, 2026 by Pulumi

    QosProfile resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as scm from "@pulumi/scm";
    
    const scmQosProfile1 = new scm.QosProfile("scm_qos_profile_1", {
        folder: "Remote Networks",
        name: "scm-qos-profile-base",
    });
    const scmQosProfile2 = new scm.QosProfile("scm_qos_profile_2", {
        folder: "Remote Networks",
        name: "scm-qos-profile-2",
        aggregateBandwidth: {
            egressMax: 200,
            egressGuaranteed: 10000,
        },
    });
    const scmQosProfile3 = new scm.QosProfile("scm_qos_profile_3", {
        folder: "Service Connections",
        name: "scm-qos-profile-3",
        aggregateBandwidth: {
            egressGuaranteed: 20,
        },
        classBandwidthType: {
            mbps: {
                classes: [
                    {
                        name: "class1",
                    },
                    {
                        name: "class2",
                        priority: "high",
                    },
                    {
                        name: "class3",
                        priority: "real-time",
                        classBandwidth: {
                            egressMax: 500,
                        },
                    },
                    {
                        name: "class4",
                        priority: "low",
                        classBandwidth: {
                            egressGuaranteed: 60000,
                        },
                    },
                    {
                        name: "class5",
                        priority: "medium",
                        classBandwidth: {
                            egressMax: 955,
                            egressGuaranteed: 50000,
                        },
                    },
                ],
            },
        },
    });
    const scmQosProfile4 = new scm.QosProfile("scm_qos_profile_4", {
        folder: "Service Connections",
        name: "scm-qos-profile-4",
        aggregateBandwidth: {
            egressMax: 1400,
        },
        classBandwidthType: {
            percentage: {
                classes: [
                    {
                        name: "class1",
                    },
                    {
                        name: "class2",
                        priority: "low",
                    },
                    {
                        name: "class3",
                        priority: "real-time",
                        classBandwidth: {
                            egressMax: 100,
                        },
                    },
                    {
                        name: "class4",
                        priority: "medium",
                        classBandwidth: {
                            egressGuaranteed: 5,
                        },
                    },
                    {
                        name: "class5",
                        priority: "high",
                        classBandwidth: {
                            egressMax: 25,
                            egressGuaranteed: 50,
                        },
                    },
                ],
            },
        },
    });
    
    import pulumi
    import pulumi_scm as scm
    
    scm_qos_profile1 = scm.QosProfile("scm_qos_profile_1",
        folder="Remote Networks",
        name="scm-qos-profile-base")
    scm_qos_profile2 = scm.QosProfile("scm_qos_profile_2",
        folder="Remote Networks",
        name="scm-qos-profile-2",
        aggregate_bandwidth={
            "egress_max": 200,
            "egress_guaranteed": 10000,
        })
    scm_qos_profile3 = scm.QosProfile("scm_qos_profile_3",
        folder="Service Connections",
        name="scm-qos-profile-3",
        aggregate_bandwidth={
            "egress_guaranteed": 20,
        },
        class_bandwidth_type={
            "mbps": {
                "classes": [
                    {
                        "name": "class1",
                    },
                    {
                        "name": "class2",
                        "priority": "high",
                    },
                    {
                        "name": "class3",
                        "priority": "real-time",
                        "class_bandwidth": {
                            "egress_max": 500,
                        },
                    },
                    {
                        "name": "class4",
                        "priority": "low",
                        "class_bandwidth": {
                            "egress_guaranteed": 60000,
                        },
                    },
                    {
                        "name": "class5",
                        "priority": "medium",
                        "class_bandwidth": {
                            "egress_max": 955,
                            "egress_guaranteed": 50000,
                        },
                    },
                ],
            },
        })
    scm_qos_profile4 = scm.QosProfile("scm_qos_profile_4",
        folder="Service Connections",
        name="scm-qos-profile-4",
        aggregate_bandwidth={
            "egress_max": 1400,
        },
        class_bandwidth_type={
            "percentage": {
                "classes": [
                    {
                        "name": "class1",
                    },
                    {
                        "name": "class2",
                        "priority": "low",
                    },
                    {
                        "name": "class3",
                        "priority": "real-time",
                        "class_bandwidth": {
                            "egress_max": 100,
                        },
                    },
                    {
                        "name": "class4",
                        "priority": "medium",
                        "class_bandwidth": {
                            "egress_guaranteed": 5,
                        },
                    },
                    {
                        "name": "class5",
                        "priority": "high",
                        "class_bandwidth": {
                            "egress_max": 25,
                            "egress_guaranteed": 50,
                        },
                    },
                ],
            },
        })
    
    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 {
    		_, err := scm.NewQosProfile(ctx, "scm_qos_profile_1", &scm.QosProfileArgs{
    			Folder: pulumi.String("Remote Networks"),
    			Name:   pulumi.String("scm-qos-profile-base"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scm.NewQosProfile(ctx, "scm_qos_profile_2", &scm.QosProfileArgs{
    			Folder: pulumi.String("Remote Networks"),
    			Name:   pulumi.String("scm-qos-profile-2"),
    			AggregateBandwidth: &scm.QosProfileAggregateBandwidthArgs{
    				EgressMax:        pulumi.Int(200),
    				EgressGuaranteed: pulumi.Int(10000),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scm.NewQosProfile(ctx, "scm_qos_profile_3", &scm.QosProfileArgs{
    			Folder: pulumi.String("Service Connections"),
    			Name:   pulumi.String("scm-qos-profile-3"),
    			AggregateBandwidth: &scm.QosProfileAggregateBandwidthArgs{
    				EgressGuaranteed: pulumi.Int(20),
    			},
    			ClassBandwidthType: &scm.QosProfileClassBandwidthTypeArgs{
    				Mbps: &scm.QosProfileClassBandwidthTypeMbpsArgs{
    					Classes: scm.QosProfileClassBandwidthTypeMbpsClassArray{
    						&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    							Name: pulumi.String("class1"),
    						},
    						&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    							Name:     pulumi.String("class2"),
    							Priority: pulumi.String("high"),
    						},
    						&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    							Name:     pulumi.String("class3"),
    							Priority: pulumi.String("real-time"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs{
    								EgressMax: pulumi.Int(500),
    							},
    						},
    						&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    							Name:     pulumi.String("class4"),
    							Priority: pulumi.String("low"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs{
    								EgressGuaranteed: pulumi.Int(60000),
    							},
    						},
    						&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    							Name:     pulumi.String("class5"),
    							Priority: pulumi.String("medium"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs{
    								EgressMax:        pulumi.Int(955),
    								EgressGuaranteed: pulumi.Int(50000),
    							},
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = scm.NewQosProfile(ctx, "scm_qos_profile_4", &scm.QosProfileArgs{
    			Folder: pulumi.String("Service Connections"),
    			Name:   pulumi.String("scm-qos-profile-4"),
    			AggregateBandwidth: &scm.QosProfileAggregateBandwidthArgs{
    				EgressMax: pulumi.Int(1400),
    			},
    			ClassBandwidthType: &scm.QosProfileClassBandwidthTypeArgs{
    				Percentage: &scm.QosProfileClassBandwidthTypePercentageArgs{
    					Classes: scm.QosProfileClassBandwidthTypePercentageClassArray{
    						&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    							Name: pulumi.String("class1"),
    						},
    						&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    							Name:     pulumi.String("class2"),
    							Priority: pulumi.String("low"),
    						},
    						&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    							Name:     pulumi.String("class3"),
    							Priority: pulumi.String("real-time"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs{
    								EgressMax: pulumi.Int(100),
    							},
    						},
    						&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    							Name:     pulumi.String("class4"),
    							Priority: pulumi.String("medium"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs{
    								EgressGuaranteed: pulumi.Int(5),
    							},
    						},
    						&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    							Name:     pulumi.String("class5"),
    							Priority: pulumi.String("high"),
    							ClassBandwidth: &scm.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs{
    								EgressMax:        pulumi.Int(25),
    								EgressGuaranteed: pulumi.Int(50),
    							},
    						},
    					},
    				},
    			},
    		})
    		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 scmQosProfile1 = new Scm.QosProfile("scm_qos_profile_1", new()
        {
            Folder = "Remote Networks",
            Name = "scm-qos-profile-base",
        });
    
        var scmQosProfile2 = new Scm.QosProfile("scm_qos_profile_2", new()
        {
            Folder = "Remote Networks",
            Name = "scm-qos-profile-2",
            AggregateBandwidth = new Scm.Inputs.QosProfileAggregateBandwidthArgs
            {
                EgressMax = 200,
                EgressGuaranteed = 10000,
            },
        });
    
        var scmQosProfile3 = new Scm.QosProfile("scm_qos_profile_3", new()
        {
            Folder = "Service Connections",
            Name = "scm-qos-profile-3",
            AggregateBandwidth = new Scm.Inputs.QosProfileAggregateBandwidthArgs
            {
                EgressGuaranteed = 20,
            },
            ClassBandwidthType = new Scm.Inputs.QosProfileClassBandwidthTypeArgs
            {
                Mbps = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsArgs
                {
                    Classes = new[]
                    {
                        new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                        {
                            Name = "class1",
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                        {
                            Name = "class2",
                            Priority = "high",
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                        {
                            Name = "class3",
                            Priority = "real-time",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs
                            {
                                EgressMax = 500,
                            },
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                        {
                            Name = "class4",
                            Priority = "low",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs
                            {
                                EgressGuaranteed = 60000,
                            },
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                        {
                            Name = "class5",
                            Priority = "medium",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs
                            {
                                EgressMax = 955,
                                EgressGuaranteed = 50000,
                            },
                        },
                    },
                },
            },
        });
    
        var scmQosProfile4 = new Scm.QosProfile("scm_qos_profile_4", new()
        {
            Folder = "Service Connections",
            Name = "scm-qos-profile-4",
            AggregateBandwidth = new Scm.Inputs.QosProfileAggregateBandwidthArgs
            {
                EgressMax = 1400,
            },
            ClassBandwidthType = new Scm.Inputs.QosProfileClassBandwidthTypeArgs
            {
                Percentage = new Scm.Inputs.QosProfileClassBandwidthTypePercentageArgs
                {
                    Classes = new[]
                    {
                        new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                        {
                            Name = "class1",
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                        {
                            Name = "class2",
                            Priority = "low",
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                        {
                            Name = "class3",
                            Priority = "real-time",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs
                            {
                                EgressMax = 100,
                            },
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                        {
                            Name = "class4",
                            Priority = "medium",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs
                            {
                                EgressGuaranteed = 5,
                            },
                        },
                        new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                        {
                            Name = "class5",
                            Priority = "high",
                            ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs
                            {
                                EgressMax = 25,
                                EgressGuaranteed = 50,
                            },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scm.QosProfile;
    import com.pulumi.scm.QosProfileArgs;
    import com.pulumi.scm.inputs.QosProfileAggregateBandwidthArgs;
    import com.pulumi.scm.inputs.QosProfileClassBandwidthTypeArgs;
    import com.pulumi.scm.inputs.QosProfileClassBandwidthTypeMbpsArgs;
    import com.pulumi.scm.inputs.QosProfileClassBandwidthTypePercentageArgs;
    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 scmQosProfile1 = new QosProfile("scmQosProfile1", QosProfileArgs.builder()
                .folder("Remote Networks")
                .name("scm-qos-profile-base")
                .build());
    
            var scmQosProfile2 = new QosProfile("scmQosProfile2", QosProfileArgs.builder()
                .folder("Remote Networks")
                .name("scm-qos-profile-2")
                .aggregateBandwidth(QosProfileAggregateBandwidthArgs.builder()
                    .egressMax(200)
                    .egressGuaranteed(10000)
                    .build())
                .build());
    
            var scmQosProfile3 = new QosProfile("scmQosProfile3", QosProfileArgs.builder()
                .folder("Service Connections")
                .name("scm-qos-profile-3")
                .aggregateBandwidth(QosProfileAggregateBandwidthArgs.builder()
                    .egressGuaranteed(20)
                    .build())
                .classBandwidthType(QosProfileClassBandwidthTypeArgs.builder()
                    .mbps(QosProfileClassBandwidthTypeMbpsArgs.builder()
                        .classes(                    
                            QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                                .name("class1")
                                .build(),
                            QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                                .name("class2")
                                .priority("high")
                                .build(),
                            QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                                .name("class3")
                                .priority("real-time")
                                .classBandwidth(QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs.builder()
                                    .egressMax(500)
                                    .build())
                                .build(),
                            QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                                .name("class4")
                                .priority("low")
                                .classBandwidth(QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs.builder()
                                    .egressGuaranteed(60000)
                                    .build())
                                .build(),
                            QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                                .name("class5")
                                .priority("medium")
                                .classBandwidth(QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs.builder()
                                    .egressMax(955)
                                    .egressGuaranteed(50000)
                                    .build())
                                .build())
                        .build())
                    .build())
                .build());
    
            var scmQosProfile4 = new QosProfile("scmQosProfile4", QosProfileArgs.builder()
                .folder("Service Connections")
                .name("scm-qos-profile-4")
                .aggregateBandwidth(QosProfileAggregateBandwidthArgs.builder()
                    .egressMax(1400)
                    .build())
                .classBandwidthType(QosProfileClassBandwidthTypeArgs.builder()
                    .percentage(QosProfileClassBandwidthTypePercentageArgs.builder()
                        .classes(                    
                            QosProfileClassBandwidthTypePercentageClassArgs.builder()
                                .name("class1")
                                .build(),
                            QosProfileClassBandwidthTypePercentageClassArgs.builder()
                                .name("class2")
                                .priority("low")
                                .build(),
                            QosProfileClassBandwidthTypePercentageClassArgs.builder()
                                .name("class3")
                                .priority("real-time")
                                .classBandwidth(QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs.builder()
                                    .egressMax(100)
                                    .build())
                                .build(),
                            QosProfileClassBandwidthTypePercentageClassArgs.builder()
                                .name("class4")
                                .priority("medium")
                                .classBandwidth(QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs.builder()
                                    .egressGuaranteed(5)
                                    .build())
                                .build(),
                            QosProfileClassBandwidthTypePercentageClassArgs.builder()
                                .name("class5")
                                .priority("high")
                                .classBandwidth(QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs.builder()
                                    .egressMax(25)
                                    .egressGuaranteed(50)
                                    .build())
                                .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      scmQosProfile1:
        type: scm:QosProfile
        name: scm_qos_profile_1
        properties:
          folder: Remote Networks
          name: scm-qos-profile-base
      scmQosProfile2:
        type: scm:QosProfile
        name: scm_qos_profile_2
        properties:
          folder: Remote Networks
          name: scm-qos-profile-2
          aggregateBandwidth:
            egressMax: 200
            egressGuaranteed: 10000
      scmQosProfile3:
        type: scm:QosProfile
        name: scm_qos_profile_3
        properties:
          folder: Service Connections
          name: scm-qos-profile-3
          aggregateBandwidth:
            egressGuaranteed: 20
          classBandwidthType:
            mbps:
              classes:
                - name: class1
                - name: class2
                  priority: high
                - name: class3
                  priority: real-time
                  classBandwidth:
                    egressMax: 500
                - name: class4
                  priority: low
                  classBandwidth:
                    egressGuaranteed: 60000
                - name: class5
                  priority: medium
                  classBandwidth:
                    egressMax: 955
                    egressGuaranteed: 50000
      scmQosProfile4:
        type: scm:QosProfile
        name: scm_qos_profile_4
        properties:
          folder: Service Connections
          name: scm-qos-profile-4
          aggregateBandwidth:
            egressMax: 1400
          classBandwidthType:
            percentage:
              classes:
                - name: class1
                - name: class2
                  priority: low
                - name: class3
                  priority: real-time
                  classBandwidth:
                    egressMax: 100
                - name: class4
                  priority: medium
                  classBandwidth:
                    egressGuaranteed: 5
                - name: class5
                  priority: high
                  classBandwidth:
                    egressMax: 25
                    egressGuaranteed: 50
    

    Create QosProfile Resource

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

    Constructor syntax

    new QosProfile(name: string, args?: QosProfileArgs, opts?: CustomResourceOptions);
    @overload
    def QosProfile(resource_name: str,
                   args: Optional[QosProfileArgs] = None,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def QosProfile(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   aggregate_bandwidth: Optional[QosProfileAggregateBandwidthArgs] = None,
                   class_bandwidth_type: Optional[QosProfileClassBandwidthTypeArgs] = None,
                   device: Optional[str] = None,
                   folder: Optional[str] = None,
                   name: Optional[str] = None,
                   snippet: Optional[str] = None)
    func NewQosProfile(ctx *Context, name string, args *QosProfileArgs, opts ...ResourceOption) (*QosProfile, error)
    public QosProfile(string name, QosProfileArgs? args = null, CustomResourceOptions? opts = null)
    public QosProfile(String name, QosProfileArgs args)
    public QosProfile(String name, QosProfileArgs args, CustomResourceOptions options)
    
    type: scm:QosProfile
    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 QosProfileArgs
    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 QosProfileArgs
    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 QosProfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args QosProfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args QosProfileArgs
    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 qosProfileResource = new Scm.QosProfile("qosProfileResource", new()
    {
        AggregateBandwidth = new Scm.Inputs.QosProfileAggregateBandwidthArgs
        {
            EgressGuaranteed = 0,
            EgressMax = 0,
        },
        ClassBandwidthType = new Scm.Inputs.QosProfileClassBandwidthTypeArgs
        {
            Mbps = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsArgs
            {
                Classes = new[]
                {
                    new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassArgs
                    {
                        ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs
                        {
                            EgressGuaranteed = 0,
                            EgressMax = 0,
                        },
                        Name = "string",
                        Priority = "string",
                    },
                },
            },
            Percentage = new Scm.Inputs.QosProfileClassBandwidthTypePercentageArgs
            {
                Classes = new[]
                {
                    new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassArgs
                    {
                        ClassBandwidth = new Scm.Inputs.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs
                        {
                            EgressGuaranteed = 0,
                            EgressMax = 0,
                        },
                        Name = "string",
                        Priority = "string",
                    },
                },
            },
        },
        Device = "string",
        Folder = "string",
        Name = "string",
        Snippet = "string",
    });
    
    example, err := scm.NewQosProfile(ctx, "qosProfileResource", &scm.QosProfileArgs{
    	AggregateBandwidth: &scm.QosProfileAggregateBandwidthArgs{
    		EgressGuaranteed: pulumi.Int(0),
    		EgressMax:        pulumi.Int(0),
    	},
    	ClassBandwidthType: &scm.QosProfileClassBandwidthTypeArgs{
    		Mbps: &scm.QosProfileClassBandwidthTypeMbpsArgs{
    			Classes: scm.QosProfileClassBandwidthTypeMbpsClassArray{
    				&scm.QosProfileClassBandwidthTypeMbpsClassArgs{
    					ClassBandwidth: &scm.QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs{
    						EgressGuaranteed: pulumi.Int(0),
    						EgressMax:        pulumi.Int(0),
    					},
    					Name:     pulumi.String("string"),
    					Priority: pulumi.String("string"),
    				},
    			},
    		},
    		Percentage: &scm.QosProfileClassBandwidthTypePercentageArgs{
    			Classes: scm.QosProfileClassBandwidthTypePercentageClassArray{
    				&scm.QosProfileClassBandwidthTypePercentageClassArgs{
    					ClassBandwidth: &scm.QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs{
    						EgressGuaranteed: pulumi.Int(0),
    						EgressMax:        pulumi.Int(0),
    					},
    					Name:     pulumi.String("string"),
    					Priority: pulumi.String("string"),
    				},
    			},
    		},
    	},
    	Device:  pulumi.String("string"),
    	Folder:  pulumi.String("string"),
    	Name:    pulumi.String("string"),
    	Snippet: pulumi.String("string"),
    })
    
    var qosProfileResource = new QosProfile("qosProfileResource", QosProfileArgs.builder()
        .aggregateBandwidth(QosProfileAggregateBandwidthArgs.builder()
            .egressGuaranteed(0)
            .egressMax(0)
            .build())
        .classBandwidthType(QosProfileClassBandwidthTypeArgs.builder()
            .mbps(QosProfileClassBandwidthTypeMbpsArgs.builder()
                .classes(QosProfileClassBandwidthTypeMbpsClassArgs.builder()
                    .classBandwidth(QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs.builder()
                        .egressGuaranteed(0)
                        .egressMax(0)
                        .build())
                    .name("string")
                    .priority("string")
                    .build())
                .build())
            .percentage(QosProfileClassBandwidthTypePercentageArgs.builder()
                .classes(QosProfileClassBandwidthTypePercentageClassArgs.builder()
                    .classBandwidth(QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs.builder()
                        .egressGuaranteed(0)
                        .egressMax(0)
                        .build())
                    .name("string")
                    .priority("string")
                    .build())
                .build())
            .build())
        .device("string")
        .folder("string")
        .name("string")
        .snippet("string")
        .build());
    
    qos_profile_resource = scm.QosProfile("qosProfileResource",
        aggregate_bandwidth={
            "egress_guaranteed": 0,
            "egress_max": 0,
        },
        class_bandwidth_type={
            "mbps": {
                "classes": [{
                    "class_bandwidth": {
                        "egress_guaranteed": 0,
                        "egress_max": 0,
                    },
                    "name": "string",
                    "priority": "string",
                }],
            },
            "percentage": {
                "classes": [{
                    "class_bandwidth": {
                        "egress_guaranteed": 0,
                        "egress_max": 0,
                    },
                    "name": "string",
                    "priority": "string",
                }],
            },
        },
        device="string",
        folder="string",
        name="string",
        snippet="string")
    
    const qosProfileResource = new scm.QosProfile("qosProfileResource", {
        aggregateBandwidth: {
            egressGuaranteed: 0,
            egressMax: 0,
        },
        classBandwidthType: {
            mbps: {
                classes: [{
                    classBandwidth: {
                        egressGuaranteed: 0,
                        egressMax: 0,
                    },
                    name: "string",
                    priority: "string",
                }],
            },
            percentage: {
                classes: [{
                    classBandwidth: {
                        egressGuaranteed: 0,
                        egressMax: 0,
                    },
                    name: "string",
                    priority: "string",
                }],
            },
        },
        device: "string",
        folder: "string",
        name: "string",
        snippet: "string",
    });
    
    type: scm:QosProfile
    properties:
        aggregateBandwidth:
            egressGuaranteed: 0
            egressMax: 0
        classBandwidthType:
            mbps:
                classes:
                    - classBandwidth:
                        egressGuaranteed: 0
                        egressMax: 0
                      name: string
                      priority: string
            percentage:
                classes:
                    - classBandwidth:
                        egressGuaranteed: 0
                        egressMax: 0
                      name: string
                      priority: string
        device: string
        folder: string
        name: string
        snippet: string
    

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

    AggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    ClassBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    Device string
    The device in which the resource is defined
    Folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    Snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    AggregateBandwidth QosProfileAggregateBandwidthArgs
    Aggregate bandwidth
    ClassBandwidthType QosProfileClassBandwidthTypeArgs
    Class bandwidth type
    Device string
    The device in which the resource is defined
    Folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    Snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    aggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    classBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    device String
    The device in which the resource is defined
    folder String

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name String
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet String

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    aggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    classBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    device string
    The device in which the resource is defined
    folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    aggregate_bandwidth QosProfileAggregateBandwidthArgs
    Aggregate bandwidth
    class_bandwidth_type QosProfileClassBandwidthTypeArgs
    Class bandwidth type
    device str
    The device in which the resource is defined
    folder str

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name str
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet str

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    aggregateBandwidth Property Map
    Aggregate bandwidth
    classBandwidthType Property Map
    Class bandwidth type
    device String
    The device in which the resource is defined
    folder String

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name String
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet String

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Outputs

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

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

    Look up Existing QosProfile Resource

    Get an existing QosProfile 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?: QosProfileState, opts?: CustomResourceOptions): QosProfile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            aggregate_bandwidth: Optional[QosProfileAggregateBandwidthArgs] = None,
            class_bandwidth_type: Optional[QosProfileClassBandwidthTypeArgs] = None,
            device: Optional[str] = None,
            folder: Optional[str] = None,
            name: Optional[str] = None,
            snippet: Optional[str] = None,
            tfid: Optional[str] = None) -> QosProfile
    func GetQosProfile(ctx *Context, name string, id IDInput, state *QosProfileState, opts ...ResourceOption) (*QosProfile, error)
    public static QosProfile Get(string name, Input<string> id, QosProfileState? state, CustomResourceOptions? opts = null)
    public static QosProfile get(String name, Output<String> id, QosProfileState state, CustomResourceOptions options)
    resources:  _:    type: scm:QosProfile    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:
    AggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    ClassBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    Device string
    The device in which the resource is defined
    Folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    Snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Tfid string
    The Terraform ID.
    AggregateBandwidth QosProfileAggregateBandwidthArgs
    Aggregate bandwidth
    ClassBandwidthType QosProfileClassBandwidthTypeArgs
    Class bandwidth type
    Device string
    The device in which the resource is defined
    Folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    Snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    Tfid string
    The Terraform ID.
    aggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    classBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    device String
    The device in which the resource is defined
    folder String

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name String
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet String

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    tfid String
    The Terraform ID.
    aggregateBandwidth QosProfileAggregateBandwidth
    Aggregate bandwidth
    classBandwidthType QosProfileClassBandwidthType
    Class bandwidth type
    device string
    The device in which the resource is defined
    folder string

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name string
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet string

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    tfid string
    The Terraform ID.
    aggregate_bandwidth QosProfileAggregateBandwidthArgs
    Aggregate bandwidth
    class_bandwidth_type QosProfileClassBandwidthTypeArgs
    Class bandwidth type
    device str
    The device in which the resource is defined
    folder str

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name str
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet str

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    tfid str
    The Terraform ID.
    aggregateBandwidth Property Map
    Aggregate bandwidth
    classBandwidthType Property Map
    Class bandwidth type
    device String
    The device in which the resource is defined
    folder String

    The folder in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    name String
    Alphanumeric string begin with letter: [0-9a-zA-Z._-]
    snippet String

    The snippet in which the resource is defined

    ℹ️ Note: You must specify exactly one of device, folder, and snippet.

    tfid String
    The Terraform ID.

    Supporting Types

    QosProfileAggregateBandwidth, QosProfileAggregateBandwidthArgs

    EgressGuaranteed int
    guaranteed sending bandwidth in mbps
    EgressMax int
    max sending bandwidth in mbps
    EgressGuaranteed int
    guaranteed sending bandwidth in mbps
    EgressMax int
    max sending bandwidth in mbps
    egressGuaranteed Integer
    guaranteed sending bandwidth in mbps
    egressMax Integer
    max sending bandwidth in mbps
    egressGuaranteed number
    guaranteed sending bandwidth in mbps
    egressMax number
    max sending bandwidth in mbps
    egress_guaranteed int
    guaranteed sending bandwidth in mbps
    egress_max int
    max sending bandwidth in mbps
    egressGuaranteed Number
    guaranteed sending bandwidth in mbps
    egressMax Number
    max sending bandwidth in mbps

    QosProfileClassBandwidthType, QosProfileClassBandwidthTypeArgs

    Mbps QosProfileClassBandwidthTypeMbps
    Mbps
    Percentage QosProfileClassBandwidthTypePercentage

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    Mbps QosProfileClassBandwidthTypeMbps
    Mbps
    Percentage QosProfileClassBandwidthTypePercentage

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    mbps QosProfileClassBandwidthTypeMbps
    Mbps
    percentage QosProfileClassBandwidthTypePercentage

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    mbps QosProfileClassBandwidthTypeMbps
    Mbps
    percentage QosProfileClassBandwidthTypePercentage

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    mbps QosProfileClassBandwidthTypeMbps
    Mbps
    percentage QosProfileClassBandwidthTypePercentage

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    mbps Property Map
    Mbps
    percentage Property Map

    Percentage

    ℹ️ Note: You must specify exactly one of mbps and percentage.

    QosProfileClassBandwidthTypeMbps, QosProfileClassBandwidthTypeMbpsArgs

    Classes []QosProfileClassBandwidthTypeMbpsClass
    QoS setting for traffic classes
    classes QosProfileClassBandwidthTypeMbpsClass[]
    QoS setting for traffic classes
    classes List<Property Map>
    QoS setting for traffic classes

    QosProfileClassBandwidthTypeMbpsClass, QosProfileClassBandwidthTypeMbpsClassArgs

    ClassBandwidth QosProfileClassBandwidthTypeMbpsClassClassBandwidth
    Class bandwidth
    Name string
    Traffic class
    Priority string
    traffic class priority
    ClassBandwidth QosProfileClassBandwidthTypeMbpsClassClassBandwidth
    Class bandwidth
    Name string
    Traffic class
    Priority string
    traffic class priority
    classBandwidth QosProfileClassBandwidthTypeMbpsClassClassBandwidth
    Class bandwidth
    name String
    Traffic class
    priority String
    traffic class priority
    classBandwidth QosProfileClassBandwidthTypeMbpsClassClassBandwidth
    Class bandwidth
    name string
    Traffic class
    priority string
    traffic class priority
    class_bandwidth QosProfileClassBandwidthTypeMbpsClassClassBandwidth
    Class bandwidth
    name str
    Traffic class
    priority str
    traffic class priority
    classBandwidth Property Map
    Class bandwidth
    name String
    Traffic class
    priority String
    traffic class priority

    QosProfileClassBandwidthTypeMbpsClassClassBandwidth, QosProfileClassBandwidthTypeMbpsClassClassBandwidthArgs

    EgressGuaranteed int
    guaranteed sending bandwidth in mbps
    EgressMax int
    max sending bandwidth in mbps
    EgressGuaranteed int
    guaranteed sending bandwidth in mbps
    EgressMax int
    max sending bandwidth in mbps
    egressGuaranteed Integer
    guaranteed sending bandwidth in mbps
    egressMax Integer
    max sending bandwidth in mbps
    egressGuaranteed number
    guaranteed sending bandwidth in mbps
    egressMax number
    max sending bandwidth in mbps
    egress_guaranteed int
    guaranteed sending bandwidth in mbps
    egress_max int
    max sending bandwidth in mbps
    egressGuaranteed Number
    guaranteed sending bandwidth in mbps
    egressMax Number
    max sending bandwidth in mbps

    QosProfileClassBandwidthTypePercentage, QosProfileClassBandwidthTypePercentageArgs

    classes List<Property Map>
    QoS setting for traffic classes

    QosProfileClassBandwidthTypePercentageClass, QosProfileClassBandwidthTypePercentageClassArgs

    ClassBandwidth QosProfileClassBandwidthTypePercentageClassClassBandwidth
    Class bandwidth
    Name string
    Traffic class
    Priority string
    traffic class priority
    ClassBandwidth QosProfileClassBandwidthTypePercentageClassClassBandwidth
    Class bandwidth
    Name string
    Traffic class
    Priority string
    traffic class priority
    classBandwidth QosProfileClassBandwidthTypePercentageClassClassBandwidth
    Class bandwidth
    name String
    Traffic class
    priority String
    traffic class priority
    classBandwidth QosProfileClassBandwidthTypePercentageClassClassBandwidth
    Class bandwidth
    name string
    Traffic class
    priority string
    traffic class priority
    class_bandwidth QosProfileClassBandwidthTypePercentageClassClassBandwidth
    Class bandwidth
    name str
    Traffic class
    priority str
    traffic class priority
    classBandwidth Property Map
    Class bandwidth
    name String
    Traffic class
    priority String
    traffic class priority

    QosProfileClassBandwidthTypePercentageClassClassBandwidth, QosProfileClassBandwidthTypePercentageClassClassBandwidthArgs

    EgressGuaranteed int
    guaranteed sending bandwidth in percentage
    EgressMax int
    max sending bandwidth in percentage
    EgressGuaranteed int
    guaranteed sending bandwidth in percentage
    EgressMax int
    max sending bandwidth in percentage
    egressGuaranteed Integer
    guaranteed sending bandwidth in percentage
    egressMax Integer
    max sending bandwidth in percentage
    egressGuaranteed number
    guaranteed sending bandwidth in percentage
    egressMax number
    max sending bandwidth in percentage
    egress_guaranteed int
    guaranteed sending bandwidth in percentage
    egress_max int
    max sending bandwidth in percentage
    egressGuaranteed Number
    guaranteed sending bandwidth in percentage
    egressMax Number
    max sending bandwidth in percentage

    Import

    The following command can be used to import a resource not managed by Terraform:

    terraform import scm_qos_profile.example folder:::id
    

    or

    terraform import scm_qos_profile.example :snippet::id
    

    or

    terraform import scm_qos_profile.example ::device:id
    

    Note: Please provide just one of folder, snippet, or device for the import command.

    To learn more about importing existing cloud resources, see Importing resources.

    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 v1.0.4 published on Saturday, Feb 14, 2026 by Pulumi
      Meet Neo: Your AI Platform Teammate