github.com/gophercloud/gophercloud@v1.11.0/openstack/networking/v2/extensions/qos/rules/doc.go (about)

     1  /*
     2  Package rules provides the ability to retrieve and manage QoS policy rules through the Neutron API.
     3  
     4  Example of Listing BandwidthLimitRules
     5  
     6  	listOpts := rules.BandwidthLimitRulesListOpts{
     7  	    MaxKBps: 3000,
     8  	}
     9  
    10  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    11  
    12  	allPages, err := rules.ListBandwidthLimitRules(networkClient, policyID, listOpts).AllPages()
    13  	if err != nil {
    14  	    panic(err)
    15  	}
    16  
    17  	allBandwidthLimitRules, err := rules.ExtractBandwidthLimitRules(allPages)
    18  	if err != nil {
    19  	    panic(err)
    20  	}
    21  
    22  	for _, bandwidthLimitRule := range allBandwidthLimitRules {
    23  	    fmt.Printf("%+v\n", bandwidthLimitRule)
    24  	}
    25  
    26  Example of Getting a single BandwidthLimitRule
    27  
    28  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    29  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
    30  
    31  	rule, err := rules.GetBandwidthLimitRule(networkClient, policyID, ruleID).ExtractBandwidthLimitRule()
    32  	if err != nil {
    33  	    panic(err)
    34  	}
    35  
    36  	fmt.Printf("Rule: %+v\n", rule)
    37  
    38  Example of Creating a single BandwidthLimitRule
    39  
    40  	opts := rules.CreateBandwidthLimitRuleOpts{
    41  	    MaxKBps:      2000,
    42  	    MaxBurstKBps: 200,
    43  	}
    44  
    45  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    46  
    47  	rule, err := rules.CreateBandwidthLimitRule(networkClient, policyID, opts).ExtractBandwidthLimitRule()
    48  	if err != nil {
    49  	    panic(err)
    50  	}
    51  
    52  	fmt.Printf("Rule: %+v\n", rule)
    53  
    54  Example of Updating a single BandwidthLimitRule
    55  
    56  	maxKBps := 500
    57  	maxBurstKBps := 0
    58  
    59  	opts := rules.UpdateBandwidthLimitRuleOpts{
    60  	    MaxKBps:      &maxKBps,
    61  	    MaxBurstKBps: &maxBurstKBps,
    62  	}
    63  
    64  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    65  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
    66  
    67  	rule, err := rules.UpdateBandwidthLimitRule(networkClient, policyID, ruleID, opts).ExtractBandwidthLimitRule()
    68  	if err != nil {
    69  	    panic(err)
    70  	}
    71  
    72  	fmt.Printf("Rule: %+v\n", rule)
    73  
    74  Example of Deleting a single BandwidthLimitRule
    75  
    76  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    77  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
    78  
    79  	err := rules.DeleteBandwidthLimitRule(fake.ServiceClient(), "501005fa-3b56-4061-aaca-3f24995112e1", "30a57f4a-336b-4382-8275-d708babd2241").ExtractErr()
    80  	if err != nil {
    81  	    panic(err)
    82  	}
    83  
    84  Example of Listing DSCP marking rules
    85  
    86  	listOpts := rules.DSCPMarkingRulesListOpts{}
    87  
    88  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
    89  
    90  	allPages, err := rules.ListDSCPMarkingRules(networkClient, policyID, listOpts).AllPages()
    91  	if err != nil {
    92  	    panic(err)
    93  	}
    94  
    95  	allDSCPMarkingRules, err := rules.ExtractDSCPMarkingRules(allPages)
    96  	if err != nil {
    97  	    panic(err)
    98  	}
    99  
   100  	for _, dscpMarkingRule := range allDSCPMarkingRules {
   101  	    fmt.Printf("%+v\n", dscpMarkingRule)
   102  	}
   103  
   104  Example of Getting a single DSCPMarkingRule
   105  
   106  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   107  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   108  
   109  	rule, err := rules.GetDSCPMarkingRule(networkClient, policyID, ruleID).ExtractDSCPMarkingRule()
   110  	if err != nil {
   111  	    panic(err)
   112  	}
   113  
   114  	fmt.Printf("Rule: %+v\n", rule)
   115  
   116  Example of Creating a single DSCPMarkingRule
   117  
   118  	opts := rules.CreateDSCPMarkingRuleOpts{
   119  	    DSCPMark: 20,
   120  	}
   121  
   122  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   123  
   124  	rule, err := rules.CreateDSCPMarkingRule(networkClient, policyID, opts).ExtractDSCPMarkingRule()
   125  	if err != nil {
   126  	    panic(err)
   127  	}
   128  
   129  	fmt.Printf("Rule: %+v\n", rule)
   130  
   131  Example of Updating a single DSCPMarkingRule
   132  
   133  	dscpMark := 26
   134  
   135  	opts := rules.UpdateDSCPMarkingRuleOpts{
   136  	    DSCPMark: &dscpMark,
   137  	}
   138  
   139  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   140  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   141  
   142  	rule, err := rules.UpdateDSCPMarkingRule(networkClient, policyID, ruleID, opts).ExtractDSCPMarkingRule()
   143  	if err != nil {
   144  	    panic(err)
   145  	}
   146  
   147  	fmt.Printf("Rule: %+v\n", rule)
   148  
   149  Example of Deleting a single DSCPMarkingRule
   150  
   151  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   152  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   153  
   154  	err := rules.DeleteDSCPMarkingRule(fake.ServiceClient(), "501005fa-3b56-4061-aaca-3f24995112e1", "30a57f4a-336b-4382-8275-d708babd2241").ExtractErr()
   155  	if err != nil {
   156  	    panic(err)
   157  	}
   158  
   159  Example of Listing MinimumBandwidthRules
   160  
   161  	listOpts := rules.MinimumBandwidthRulesListOpts{
   162  	    MinKBps: 3000,
   163  	}
   164  
   165  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   166  
   167  	allPages, err := rules.ListMinimumBandwidthRules(networkClient, policyID, listOpts).AllPages()
   168  	if err != nil {
   169  	    panic(err)
   170  	}
   171  
   172  	allMinimumBandwidthRules, err := rules.ExtractMinimumBandwidthRules(allPages)
   173  	if err != nil {
   174  	    panic(err)
   175  	}
   176  
   177  	for _, bandwidthLimitRule := range allMinimumBandwidthRules {
   178  	    fmt.Printf("%+v\n", bandwidthLimitRule)
   179  	}
   180  
   181  Example of Getting a single MinimumBandwidthRule
   182  
   183  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   184  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   185  
   186  	rule, err := rules.GetMinimumBandwidthRule(networkClient, policyID, ruleID).ExtractMinimumBandwidthRule()
   187  	if err != nil {
   188  	    panic(err)
   189  	}
   190  
   191  	fmt.Printf("Rule: %+v\n", rule)
   192  
   193  Example of Creating a single MinimumBandwidthRule
   194  
   195  	opts := rules.CreateMinimumBandwidthRuleOpts{
   196  	    MinKBps: 2000,
   197  	}
   198  
   199  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   200  
   201  	rule, err := rules.CreateMinimumBandwidthRule(networkClient, policyID, opts).ExtractMinimumBandwidthRule()
   202  	if err != nil {
   203  	    panic(err)
   204  	}
   205  
   206  	fmt.Printf("Rule: %+v\n", rule)
   207  
   208  Example of Updating a single MinimumBandwidthRule
   209  
   210  	minKBps := 500
   211  
   212  	opts := rules.UpdateMinimumBandwidthRuleOpts{
   213  	    MinKBps: &minKBps,
   214  	}
   215  
   216  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   217  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   218  
   219  	rule, err := rules.UpdateMinimumBandwidthRule(networkClient, policyID, ruleID, opts).ExtractMinimumBandwidthRule()
   220  	if err != nil {
   221  	    panic(err)
   222  	}
   223  
   224  	fmt.Printf("Rule: %+v\n", rule)
   225  
   226  Example of Deleting a single MinimumBandwidthRule
   227  
   228  	policyID := "501005fa-3b56-4061-aaca-3f24995112e1"
   229  	ruleID   := "30a57f4a-336b-4382-8275-d708babd2241"
   230  
   231  	err := rules.DeleteMinimumBandwidthRule(fake.ServiceClient(), "501005fa-3b56-4061-aaca-3f24995112e1", "30a57f4a-336b-4382-8275-d708babd2241").ExtractErr()
   232  	if err != nil {
   233  	    panic(err)
   234  	}
   235  */
   236  package rules