Help Center> Elastic IP> API Reference> APIs> Bandwidth (V2.0)> Assigning a Shared Bandwidth

Assigning a Shared Bandwidth

Function

This API is used to assign a shared bandwidth.

URI

POST /v2.0/{project_id}/bandwidths

Table 1 describes the parameters.
Table 1 Parameter description

Name

Mandatory

Description

project_id

Yes

Specifies the project ID. For details about how to obtain a project ID, see Obtaining a Project ID.

Request Message

  • Request parameter
    Table 2 Request parameter

    Name

    Mandatory

    Type

    Description

    bandwidth

    Yes

    Object

    Specifies the bandwidth objects. For details, see Table 3.

    Table 3 Description of the bandwidth field

    Name

    Mandatory

    Type

    Description

    name

    Yes

    String

    Specifies the bandwidth name.

    The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).

    size

    Yes

    Integer

    • Specifies the bandwidth size. The shared bandwidth has a minimum limit, which may vary depending on sites. The default minimum value is 5 Mbit/s.
    • The value ranges from 5 Mbit/s to 2000 Mbit/s by default. (The specific range may vary depending on the configuration in each region. You can see the available bandwidth range on the management console.)
    • If a decimal fraction (for example 10.2) or a character string (for example "10") is specified, the specified value will be automatically converted to an integer.
    • The minimum increment for bandwidth adjustment varies depending on the bandwidth range. The details are as follows:
      • The minimum increment is 1 Mbit/s if the allowed bandwidth ranges from 0 Mbit/s to 300 Mbit/s (with 300 Mbit/s included).
      • The minimum increment is 50 Mbit/s if the allowed bandwidth ranges from 300 Mbit/s to 1000 Mbit/s (with 1000 Mbit/s included).
      • The minimum increment is 500 Mbit/s if the allowed bandwidth is greater than 1000 Mbit/s.

    enterprise_project_id

    No

    String

    • Specifies the enterprise project ID. The value can contain a maximum of 36 characters. It is string "0" or in UUID format with hyphens (-).
    • When creating a shared bandwidth, associate the enterprise project ID with the shared bandwidth.
    NOTE:

    For more information about enterprise projects and how to obtain enterprise project IDs, see the Enterprise Management User Guide.

    charge_mode

    No

    String

    • Specifies whether the billing is based on bandwidth, or 95th percentile bandwidth (enhanced).
    • Possible values can be bandwidth (billed by bandwidth) and 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%.
  • Example request
    POST https://{Endpoint}/v2.0/{project_id}/bandwidths
    
    {
        "bandwidth": {
            "name": "bandwidth123",
            "size": 10,
            "enterprise_project_id":"b261ac1f-2489-4bc7-b31b-c33c3346a439"
        }
    }

Response Message

  • Response parameter
    Table 4 Response parameter

    Name

    Type

    Description

    bandwidth

    Object

    Specifies the bandwidth objects. For details, see Table 5.

    Table 5 Description of the bandwidth field

    Name

    Type

    Description

    name

    String

    • Specifies the bandwidth name.
    • The value is a string of 1 to 64 characters that can contain letters, digits, underscores (_), hyphens (-), and periods (.).

    size

    Integer

    • Specifies the bandwidth size.
    • The value ranges from 5 Mbit/s to 2000 Mbit/s by default. (The specific range may vary depending on the configuration in each region. You can see the available bandwidth range on the management console.)

    id

    String

    Specifies the bandwidth ID, which uniquely identifies the bandwidth.

    share_type

    String

    • Specifies whether the bandwidth is shared or dedicated.
    • The value can be PER or WHOLE.
      • WHOLE: Shared bandwidth
      • PER: Dedicated bandwidth

    publicip_info

    Array of publicip_info objects

    • Specifies information about the EIP that uses the bandwidth. For details, see Table 6.
    • The bandwidth, whose type is WHOLE, can be used by multiple EIPs. The bandwidth, whose type is PER, can be used by only one EIP.

    tenant_id

    String

    Specifies the project ID.

    bandwidth_type

    String

    • Specifies the bandwidth type. The default value for the shared bandwidth is share.
    • The value can be share, bgp, telcom, or sbgp.
      • share: Shared bandwidth
      • bgp: Dynamic BGP
      • telcom: China Unicom
      • sbgp: Static BGP

    charge_mode

    String

    • Specifies whether the billing is based on bandwidth, or 95th percentile bandwidth (enhanced).
    • Possible values can be bandwidth (billed by bandwidth) and 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%.

    billing_info

    String

    Specifies the bill information.

    If billing_info is specified, the bandwidth is in yearly/monthly billing mode.

    enterprise_project_id

    String

    • Specifies the enterprise project ID. The value can contain a maximum of 36 characters. It is string "0" or in UUID format with hyphens (-). When creating a shared bandwidth, associate the enterprise project ID with the shared bandwidth.
    NOTE:

    For more information about enterprise projects and how to obtain enterprise project IDs, see the Enterprise Management User Guide.

    status

    String

    • Specifies the bandwidth status.
    • Possible values are as follows:
      • FREEZED (Frozen)
      • NORMAL (Normal)

    created_at

    String

    • Specifies the time (UTC) when the bandwidth is created.
    • Format: yyyy-MM-ddTHH:mm:ss

    updated_at

    String

    • Specifies the time (UTC) when the bandwidth is created.
    • Format: yyyy-MM-ddTHH:mm:ss

    enable_bandwidth_rules

    boolean

    • Specifies whether to enable QoS.
    • The value can be true or false.

    rule_quota

    integer

    Specifies the maximum number of grouping rules supported by the bandwidth.

    bandwidth_rules

    Array of bandwidth_rules objects

    Specifies the bandwidth rules.

    Table 6 publicip_info object

    Name

    Type

    Description

    publicip_id

    String

    Specifies the ID of the EIP or IPv6 port that uses the bandwidth.

    publicip_address

    String

    Specifies the obtained EIP if only IPv4 EIPs are available. Specifies the IPv4 address corresponding to the IPv6 address if IPv6 EIPs are available.

    publicipv6_address

    String

    Specifies the obtained EIP if IPv6 EIPs are available. This parameter does not exist if only IPv4 EIPs are available.

    ip_version

    Integer

    • Specifies the IP address version.
    • Possible values are as follows:
      • 4: IPv4 address
      • 6: IPv6 address

    publicip_type

    String

    • Specifies the EIP type.
    • Possible values are 5_telcom (China Telecom), 5_union (China Unicom), 5_bgp (dynamic BGP), and 5_sbgp (static BGP).
      • CN Northeast-Dalian: 5_telcom and 5_union
      • CN South-Guangzhou: 5_bgp and 5_sbgp
      • CN East-Shanghai1: 5_bgp and 5_sbgp
      • CN East-Shanghai2: 5_bgp and 5_sbgp
      • CN North-Beijing1: 5_bgp and 5_sbgp
      • AP-Hong Kong: 5_bgp
      • AP-Bangkok: 5_bgp
      • AP-Singapore: 5_bgp
      • AF-Johannesburg: 5_bgp
      • CN Southwest-Guiyang1: 5_sbgp
      • CN North-Beijing4: 5_bgp and 5_sbgp
      • LA-Santiago: 5_bgp
      • LA-Sao Paulo1: 5_bgp
      • LA-Mexico City1: 5_bgp
      • LA-Buenos Aires1: 5_bgp
      • LA-Lima1: 5_bgp
      • LA-Santiago2: 5_bgp
    • The configured value must be supported by the system.
    Table 7 bandwidth_rules object

    Name

    Type

    Description

    id

    string

    Specifies the bandwidth rule ID.

    name

    string

    Specifies the name of the bandwidth rule.

    admin_state_up

    boolean

    Specifies the configuration status. The value False indicates that the configuration does not take effect.

    egress_size

    integer

    • Specifies the maximum outbound bandwidth in Mbit/s.
    • The value range ranges from 0 to n, where n indicates the shared bandwidth size. If the value is set to 0, the maximum bandwidth, that is the shared bandwidth size will be used.

    egress_guarented_size

    integer

    • Specifies the guaranteed outbound bandwidth in Mbit/s.
    • The value ranges from 0 to x, where x indicates the remaining bandwidth.

    publicip_info

    array

    • Specifies the EIP associated with the bandwidth.
    • The bandwidth, whose type is set to WHOLE, can be used by multiple EIPs. The bandwidth, whose type is set to PER, can be used by only one EIP.
  • Example response
    {
      "bandwidth": {
        "id": "1bffc5f2-ff19-45a6-96d2-dfdca49cc387",
        "name": "bandwidth123",
        "size": 10,
        "share_type": "WHOLE",
        "publicip_info": [],
        "tenant_id": "26ae5181a416420998eb2093aaed84d9",
        "bandwidth_type": "share",
        "charge_mode": "bandwidth",
        "enterprise_project_id": "0",
        "status": "NORMAL",
        "created_at": "2020-04-21T07:58:02Z", 
        "updated_at": "2020-04-21T07:58:02Z" 
      }
    }

Status Code

See Status Codes.

Error Code

See Error Codes.