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