Help Center/ Elastic IP/ API Reference/ APIs/ Bandwidth (V2.0)/ Adding an EIP to a Shared Bandwidth
Updated on 2023-03-17 GMT+08:00

Adding an EIP to a Shared Bandwidth

Function

This API is used to add an EIP to a shared bandwidth.

URI

POST /v2.0/{project_id}/bandwidths/{bandwidth_id}/insert

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.

bandwidth_id

Yes

Specifies the bandwidth ID, which uniquely identifies the bandwidth.

Request Message

  • Request parameter
    Table 2 Request header parameter

    Parameter

    Mandatory

    Type

    Description

    X-Auth-Token

    Yes

    String

    Specifies the user token. The token can be obtained by calling the IAM API used for obtaining a user token. The value of X-Subject-Token in the response header is the user token.

    Table 3 Request parameter

    Name

    Mandatory

    Type

    Description

    bandwidth

    Yes

    bandwidth object

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

    Table 4 Description of the bandwidth field

    Name

    Mandatory

    Type

    Description

    publicip_info

    Yes

    Array of publicip_info objects

    • Specifies information about the EIP to be added to the shared bandwidth. For details, see Table 5.
    • The bandwidth, whose type is WHOLE, can be used by multiple EIPs. The number of EIPs varies depending on the tenant quota. By default, a shared bandwidth can be used by up to 20 EIPs.
    Table 5 publicip_info object

    Name

    Mandatory

    Type

    Description

    publicip_id

    Yes

    String

    Specifies the ID of the EIP that uses the bandwidth.

    publicip_type

    No

    String

    • Specifies the EIP type.
    • The value can be 5_bgp.
    • Constraints:
      • The configured value must be supported by the system.
      • publicip_id is an IPv4 port. If publicip_type is not specified, the default value is 5_bgp.
  • Example request
    POST https://{Endpoint}/v2.0/{project_id}/bandwidths/{bandwidth_id}/insert
    
    {
      "bandwidth": {
        "publicip_info": [
          {
            "publicip_id": "29b114d1-2d41-4741-a1f0-b6f80aabceff",
            "publicip_type": "5_bgp",
          }
        ]
      }
    }

Response Message

  • Response parameter
    Table 6 Response parameter

    Name

    Type

    Description

    bandwidth

    bandwidth object

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

    Table 7 Description of the bandwidth field

    Name

    Type

    Description

    name

    String

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

    size

    Integer

    • Specifies the bandwidth size.
    • The value ranges from 1 Mbit/s to 300 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 8.
    • 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, or sbgp.
      • share: Shared bandwidth
      • bgp: Dynamic BGP
      • sbgp: Static BGP

    charge_mode

    String

    • Specifies whether the bandwidth is billed by traffic or by bandwidth size.
    • Possible values can be bandwidth (billed by bandwidth) and traffic (billed by traffic). If the value is an empty character string or no value is specified, value bandwidth is used.
    • The shared bandwidth can be billed only by bandwidth.

    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 is 0 or a string that contains a maximum of 36 characters in UUID format with hyphens (-). Value 0 indicates the default enterprise project.
    • 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)
    Table 8 publicip_info objects

    Name

    Type

    Description

    publicip_id

    String

    Specifies the ID of the EIP that uses the bandwidth.

    publicip_address

    String

    Specifies the obtained EIP if only IPv4 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
      • 6: IPv6

    publicip_type

    String

    • Specifies the EIP type.
    • The value can be 5_bgp.
    • Constraints:
      • The configured value must be supported by the system.
      • publicip_id is an IPv4 port. If publicip_type is not specified, the default value is 5_bgp.
  • Example response
    {
        "bandwidth": {
            "id": "3fa5b383-5a73-4dcb-a314-c6128546d855",
            "name": "bandwidth123",
            "size": 10,
            "share_type": "WHOLE",
            "publicip_info": [
                {
                    "publicip_id": "1d184b2c-4ec9-49b5-a3f9-27600a76ba3f",
                    "publicip_address": "99.xx.xx.82",
                    "publicip_type": "5_bgp",
                    "ip_version": 4
                }
            ],
            "tenant_id": "8b7e35ad379141fc9df3e178bd64f55c",
            "charge_mode": "traffic",
            "billing_info": "CS1712121146TSQOJ:0616e2a5dc9f4985ba52ea8c0c7e273c:southchina:35f2b308f5d64441a6fa7999fbcd4321",
            "bandwidth_type": "share",
            "status": "NORMAL"
        }
    }

Status Code

See Status Codes.

Error Code

See Error Codes.