Updating Bandwidths in Batches
Function
This API is used to update bandwidths in batches. This API is not applicable to shared bandwidths and yearly/monthly bandwidths.
URI
PUT /v2/{project_id}/batch-bandwidths/modify
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
bandwidths |
Yes |
Array of ModifyBandwidthOption objects |
Update bandwidths. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
id |
Yes |
String |
Maximum length: 36 |
name |
No |
String |
The name of the bandwidth. The value can contain 1 to 64 characters, including letters, digits, underscores (_), and hyphens (-). If the value is left blank, the name of the bandwidth is not changed. Either parameter name or size must be specified. Minimum length: 1 Maximum length: 64 |
size |
No |
Integer |
The bandwidth size, in Mbit/s. The value ranges from 1 Mbit/s to 2,000 Mbit/s by default. (The specific range may vary by the configuration in each region. You can see the available bandwidth range on the management console.) If the parameter is not specified, the bandwidth size is not changed. Either parameter name or size must be specified. If a decimal fraction (for example 10.2) or a character string (for example 10) is specified, the value will be automatically converted to an integer. The minimum increment for bandwidth adjustment varies with the bandwidth range. The minimum increment is 1 Mbit/s if the allowed bandwidth ranges from 0 Mbit/s to 300 Mbit/s. The minimum increment is 50 Mbit/s if the allowed bandwidth ranges 300 Mbit/s to 1,000 Mbit/s. The minimum increment is 500 Mbit/s if the allowed bandwidth is greater than 1,000 Mbit/s. |
charge_mode |
No |
String |
Whether the bandwidth is billed by traffic, bandwidth, or 95th percentile bandwidth (enhanced). The value can be bandwidth, traffic, or 95peak_plus (billed by enhanced 95th percentile bandwidth). If the value is an empty character string or no value is specified, value bandwidth is used. Only the shared bandwidth supports 95peak_plus (billed by enhanced 95th percentile bandwidth). If you choose to be billed by 95th percentile bandwidth (enhanced), you need to specify the guaranteed bandwidth percentage. The default value is 20%. The value can be:
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
success_resources |
Array of SuccessResources objects |
Successful resources |
failure_resources |
Array of FailureResources objects |
Failed resources |
Example Request
Update bandwidths in batches.
{ "bandwidths" : [ { "id" : "837d84a0-b940-4401-9477-4a99de1979a7", "name" : "bandwidth123", "size" : 5 }, { "id" : "f2549bed-c419-4f58-9609-7ade104772bb", "name" : "bandwidth123", "size" : 5 } ] }
Example Response
Status code: 200
Normal response to GET and PUT operations
{ "success_resources" : [ { "id" : "837d84a0-b940-4401-9477-4a99de1979a7" } ], "failure_resources" : [ { "id" : "f2549bed-c419-4f58-9609-7ade104772bb", "code" : "VPC.0319", "message" : "updateBandwidth bandwidth failed. the bandwidth is share bandwidth." } ] }
SDK Sample Code
The sample code is as follows:
Update bandwidths in batches.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.eip.v2.region.EipRegion; import com.huaweicloud.sdk.eip.v2.*; import com.huaweicloud.sdk.eip.v2.model.*; import java.util.List; import java.util.ArrayList; public class BatchModifyBandwidthSolution { public static void main(String[] args) { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); EipClient client = EipClient.newBuilder() .withCredential(auth) .withRegion(EipRegion.valueOf("<YOUR REGION>")) .build(); BatchModifyBandwidthRequest request = new BatchModifyBandwidthRequest(); ModifyBandwidthRequestBody body = new ModifyBandwidthRequestBody(); List<ModifyBandwidthOption> listbodyBandwidths = new ArrayList<>(); listbodyBandwidths.add( new ModifyBandwidthOption() .withId("837d84a0-b940-4401-9477-4a99de1979a7") .withName("bandwidth123") .withSize(5) ); listbodyBandwidths.add( new ModifyBandwidthOption() .withId("f2549bed-c419-4f58-9609-7ade104772bb") .withName("bandwidth123") .withSize(5) ); body.withBandwidths(listbodyBandwidths); request.withBody(body); try { BatchModifyBandwidthResponse response = client.batchModifyBandwidth(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } |
Update bandwidths in batches.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkeip.v2.region.eip_region import EipRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkeip.v2 import * if __name__ == "__main__": # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = __import__('os').getenv("CLOUD_SDK_AK") sk = __import__('os').getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = EipClient.new_builder() \ .with_credentials(credentials) \ .with_region(EipRegion.value_of("<YOUR REGION>")) \ .build() try: request = BatchModifyBandwidthRequest() listBandwidthsbody = [ ModifyBandwidthOption( id="837d84a0-b940-4401-9477-4a99de1979a7", name="bandwidth123", size=5 ), ModifyBandwidthOption( id="f2549bed-c419-4f58-9609-7ade104772bb", name="bandwidth123", size=5 ) ] request.body = ModifyBandwidthRequestBody( bandwidths=listBandwidthsbody ) response = client.batch_modify_bandwidth(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) |
Update bandwidths in batches.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" eip "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/eip/v2/region" ) func main() { // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security. // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() client := eip.NewEipClient( eip.EipClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.BatchModifyBandwidthRequest{} nameBandwidths:= "bandwidth123" sizeBandwidths:= int32(5) nameBandwidths1:= "bandwidth123" sizeBandwidths1:= int32(5) var listBandwidthsbody = []model.ModifyBandwidthOption{ { Id: "837d84a0-b940-4401-9477-4a99de1979a7", Name: &nameBandwidths, Size: &sizeBandwidths, }, { Id: "f2549bed-c419-4f58-9609-7ade104772bb", Name: &nameBandwidths1, Size: &sizeBandwidths1, }, } request.Body = &model.ModifyBandwidthRequestBody{ Bandwidths: listBandwidthsbody, } response, err := client.BatchModifyBandwidth(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } |
For more SDK sample codes of programming languages, visit API Explorer and click the Sample Code tab. Example codes can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Normal response to GET and PUT operations |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot