EipGroup实例
创建共享带宽
- 创建一个共享带宽
- 创建共享带宽需要实名认证,若未通过实名认证可以前往百度开放云官网控制台中的安全认证下的实名认证中进行认证。
函数声明
1type CreateEipGroupArgs struct {
2 Name string `json:"name,omitempty"`
3 EipCount int `json:"eipCount"`
4 BandWidthInMbps int `json:"bandwidthInMbps"`
5 Billing *Billing `json:"billing"`
6 Tags []model.TagModel `json:"tags"`
7 RouteType string `json:"routeType,omitempty"`
8 Idc string `json:"idc,omitempty"`
9 Continuous bool `json:"continuous,omitempty"`
10 ClientToken string `json:"-"`
11}
12
13type CreateEipGroupResult struct {
14 Id string `json:"id"`
15}
16
17func (c *Client) CreateEipGroup(args *CreateEipGroupArgs) (*CreateEipGroupResult, error)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/ijwvz2zq8
返回值
操作成功:
1{
2 "id":"eg-xxxxxxxx"
3}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_create_eipgroup.go
共享带宽的带宽扩容
- 指定共享带宽的带宽扩容
函数声明
1type ResizeEipGroupArgs struct {
2 BandWidthInMbps int `json:"bandwidthInMbps"`
3 ClientToken string `json:"-"`
4}
5
6func (c *Client) ResizeEipGroupBandWidth(id string, args *ResizeEipGroupArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Wjwvz2zeb
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_resize_eipgroup_bandwidth.go
共享带宽IP数量升级
- 用于指定共享带宽IP数量升级
函数声明
1type GroupAddEipCountArgs struct {
2 EipAddCount int `json:"eipAddCount"`
3 ClientToken string `json:"-"`
4}
5
6func (c *Client) EipGroupAddEipCount(id string, args *GroupAddEipCountArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/qjwvz2yol
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_add_eip_count.go
共享带宽更新
- 共享带宽更新,目前支持更新共享带宽的名称
函数声明
1type RenameEipGroupArgs struct {
2 Name string `json:"name"`
3 ClientToken string `json:"-"`
4}
5
6func (c *Client) RenameEipGroup(id string, args *RenameEipGroupArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Sjwvz2xo5
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_rename_eipgroup.go
查询共享带宽列表
- 可根据多重条件查询共享带宽列表
- 若不提供查询条件,则默认查询覆盖所有EIP
- 返回结果为多重条件交集的查询结果,即提供多重条件的情况下,返回同时满足所有条件的共享带宽
- 以上查询结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定
函数声明
1type ListEipGroupArgs struct {
2 Id string
3 Name string
4 Marker string
5 MaxKeys int
6 Status string
7}
8
9type ListEipGroupResult struct {
10 Marker string `json:"marker"`
11 MaxKeys int `json:"maxKeys"`
12 NextMarker string `json:"nextMarker"`
13 IsTruncated bool `json:"isTruncated"`
14 EipGroup []EipGroupModel `json:"eipgroups"`
15}
16
17type EipGroupModel struct {
18 Name string `json:"name"`
19 Status string `json:"status"`
20 Id string `json:"id"`
21 BandWidthInMbps int `json:"bandwidthInMbps"`
22 DefaultDomesticBandwidth int `json:"defaultDomesticBandwidth"`
23 BwShortId string `json:"bwShortId"`
24 BwBandwidthInMbps int `json:"bwBandwidthInMbps"`
25 DomesticBwShortId string `json:"domesticBwShortId"`
26 DomesticBwBandwidthInMbps int `json:"domesticBwBandwidthInMbps"`
27 PaymentTiming string `json:"paymentTiming"`
28 BillingMethod string `json:"billingMethod"`
29 CreateTime string `json:"createTime"`
30 ExpireTime string `json:"expireTime"`
31 Region string `json:"region"`
32 RouteType string `json:"routeType"`
33 Eips []EipModel `json:"eips"`
34}
35
36func (c *Client) ListEipGroup(args *ListEipGroupArgs) (*ListEipGroupResult, error)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Ujwvz2yd6
返回值
操作成功:
1{
2 "marker": "eg-xxxxxxxx",
3 "maxKeys": 1000,
4 "nextMarker": "",
5 "isTruncated": false,
6 "eipgroups": [
7 {
8 "name": "test-sdk-eipgroup",
9 "status": "available",
10 "id": "eg-xxxxxxxx",
11 "bandwidthInMbps": 100,
12 "defaultDomesticBandwidth": 0,
13 "bwShortId": "",
14 "bwBandwidthInMbps": 0,
15 "domesticBwShortId": "",
16 "domesticBwBandwidthInMbps": 0,
17 "paymentTiming": "Postpaid",
18 "billingMethod": "ByBandwidth",
19 "createTime": "2023-11-23T07:25:34Z",
20 "expireTime": "",
21 "region": "bj",
22 "routeType": "BGP",
23 "eips": [
24 {
25 "name": "xxxxx",
26 "eip": "x.x.x.x",
27 "eipId": "ip-xxxxxxxx",
28 "status": "available",
29 "eipInstanceType": "shared",
30 "instanceType": "",
31 "instanceId": "",
32 "shareGroupId": "eg-xxxxxxxx",
33 "clusterId": "",
34 "bandwidthInMbps": 100,
35 "paymentTiming": "",
36 "billingMethod": "",
37 "createTime": "2023-11-23T07:25:34Z",
38 "expireTime": "",
39 "tags": null
40 },
41 ...
42 ]
43 },
44 ...
45 ]
46}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_list_eipgroup.go
查询共享带宽详情
- 查询特定共享带宽详情
函数声明
1type EipGroupModel struct {
2 Name string `json:"name"`
3 Status string `json:"status"`
4 Id string `json:"id"`
5 BandWidthInMbps int `json:"bandwidthInMbps"`
6 DefaultDomesticBandwidth int `json:"defaultDomesticBandwidth"`
7 BwShortId string `json:"bwShortId"`
8 BwBandwidthInMbps int `json:"bwBandwidthInMbps"`
9 DomesticBwShortId string `json:"domesticBwShortId"`
10 DomesticBwBandwidthInMbps int `json:"domesticBwBandwidthInMbps"`
11 PaymentTiming string `json:"paymentTiming"`
12 BillingMethod string `json:"billingMethod"`
13 CreateTime string `json:"createTime"`
14 ExpireTime string `json:"expireTime"`
15 Region string `json:"region"`
16 RouteType string `json:"routeType"`
17 Eips []EipModel `json:"eips"`
18}
19
20func (c *Client) EipGroupDetail(id string) (*EipGroupModel, error)
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Zjwvz2xzs
返回值
操作成功:
1{
2 "name": "test-sdk-eipgroup",
3 "status": "available",
4 "id": "eg-xxxxxxxx",
5 "bandwidthInMbps": 100,
6 "defaultDomesticBandwidth": 0,
7 "bwShortId": "",
8 "bwBandwidthInMbps": 0,
9 "domesticBwShortId": "",
10 "domesticBwBandwidthInMbps": 0,
11 "paymentTiming": "Postpaid",
12 "billingMethod": "ByBandwidth",
13 "createTime": "2023-11-23T07:25:34Z",
14 "expireTime": "",
15 "region": "bj",
16 "routeType": "BGP",
17 "eips": [
18 {
19 "name": "xxxxx",
20 "eip": "x.x.x.x",
21 "eipId": "ip-xxxxxxxx",
22 "status": "available",
23 "eipInstanceType": "shared",
24 "instanceType": "",
25 "instanceId": "",
26 "shareGroupId": "eg-xxxxxxxx",
27 "clusterId": "",
28 "bandwidthInMbps": 100,
29 "paymentTiming": "",
30 "billingMethod": "",
31 "createTime": "2023-11-23T07:25:34Z",
32 "expireTime": "",
33 "tags": null
34 },
35 ...
36 ]
37}
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_detail.go
共享带宽续费
- 针对指定共享带宽的续费操作,延长过期时长
- 共享带宽扩缩容期间不能进行续费操作
函数声明
1type EipGroupPurchaseReservedArgs struct {
2 Billing *Billing `json:"billing"`
3 ClientToken string `json:"-"`
4}
5
6func (c *Client) EipGroupPurchaseReserved(id string, args *EipGroupPurchaseReservedArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/ljwvz2z0r
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_purchase_reserved.go
共享带宽释放
- 释放指定共享带宽
- 仅支持后付费计费方式
函数声明
1func (c *Client) DeleteRecycleEip(eip string, clientToken string) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/ukghouoci
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_delete_eipgroup.go
共享带宽移入EIP
- 只能移入后付费EIP
- 移入的EIP需要和共享带宽线路类型相同
- 移入的EIP不可以绑定带宽包或跨境加速包
- 移入后的共享带宽ip数量需要满足共享带宽的配额要求
函数声明
1type EipGroupMoveInArgs struct {
2 Eips []string `json:"eips"`
3 ClientToken string `json:"-"`
4}
5
6func (c *Client) EipGroupMoveIn(id string, args *EipGroupMoveInArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/ukoslf7lm
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_move_in.go
共享带宽移出EIP
- 移出的共享带宽的计费方式必须是后付费
- 移出的共享带宽不可以有其他待生效的订单
- 移出的EIP仅支持后付费计费方式
- 如果移出的EIP是共享带宽原生的EIP,必须要指定移出后的EIP的带宽和计费信息
- 如果移出的EIP是过去移入过该共享带宽的非原生EIP,无需指定移出后的EIP的带宽和计费信息,该EIP将恢复到移入前的带宽和计费方式
函数声明
1type EipGroupMoveOutArgs struct {
2 MoveOutEips []MoveOutEip `json:"moveOutEips"`
3 ClientToken string `json:"-"`
4}
5
6type MoveOutEip struct {
7 Eip string `json:"eip"`
8 BandWidthInMbps int `json:"bandwidthInMbps"`
9 Billing *Billing `json:"billing"`
10}
11
12func (c *Client) EipGroupMoveOut(id string, args *EipGroupMoveOutArgs) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Qkoslycn3
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_move_out.go
预付费共享带宽退订
- 预付费共享带宽释放并退款。
- 只有预付费共享带宽支持退订,后付费共享带宽不支持退订,后付费共享带宽可调用释放共享带宽接口直接释放。
- 共享带宽中有EIP正在封禁,不支持退订,可在解封后再操作。
- 共享带宽中有EIP绑定了VPN、NAT,不支持退订,可在解除绑定后再操作。
- 共享带宽中有EIP绑有带宽包,不支持退订,可将带宽包释放后再操作。
- 共享带宽退款有惩罚机制,退款金额 = max(0, 总金额 - 已消费金额 * 1.5)。
函数声明
1func (c *Client) RefundEipGroup(id string, clientToken string) error
参数含义
请参考OpenAPI文档:https://cloud.baidu.com/doc/EIP/s/Alxkb5avn
返回值
操作成功:
无特殊返回参数
操作失败:
抛出异常,异常列表参考:https://cloud.baidu.com/doc/EIP/s/nkcu555a4
代码示例
具体代码示例参考:example_eipgroup_refund_eipgroup.go