Ver Fonte

Generated 2018-02-01, 2018-07-20 for ddosbgp.

sdk-team há 6 anos atrás
pai
commit
9131947307
39 ficheiros alterados com 2362 adições e 0 exclusões
  1. 3 0
      ChangeLog.txt
  2. 107 0
      services/ddosbgp/add_ip.go
  3. 105 0
      services/ddosbgp/check_grant.go
  4. 107 0
      services/ddosbgp/delete_blackhole.go
  5. 107 0
      services/ddosbgp/delete_ip.go
  6. 113 0
      services/ddosbgp/describe_ddos_event.go
  7. 107 0
      services/ddosbgp/describe_excpetion_count.go
  8. 123 0
      services/ddosbgp/describe_instance_list.go
  9. 108 0
      services/ddosbgp/describe_instance_specs.go
  10. 115 0
      services/ddosbgp/describe_op_entities.go
  11. 114 0
      services/ddosbgp/describe_pack_ip_list.go
  12. 111 0
      services/ddosbgp/describe_pack_paid_traffic.go
  13. 107 0
      services/ddosbgp/describe_regions.go
  14. 108 0
      services/ddosbgp/describe_resource_pack_instances.go
  15. 110 0
      services/ddosbgp/describe_resource_pack_statistics.go
  16. 111 0
      services/ddosbgp/describe_resource_pack_usage.go
  17. 110 0
      services/ddosbgp/describe_traffic.go
  18. 108 0
      services/ddosbgp/modify_remark.go
  19. 26 0
      services/ddosbgp/struct_event.go
  20. 21 0
      services/ddosbgp/struct_events.go
  21. 25 0
      services/ddosbgp/struct_flow.go
  22. 21 0
      services/ddosbgp/struct_flow_list.go
  23. 29 0
      services/ddosbgp/struct_instance.go
  24. 21 0
      services/ddosbgp/struct_instance_list.go
  25. 24 0
      services/ddosbgp/struct_instance_spec.go
  26. 21 0
      services/ddosbgp/struct_instance_specs.go
  27. 21 0
      services/ddosbgp/struct_ip_list.go
  28. 24 0
      services/ddosbgp/struct_ipitem.go
  29. 21 0
      services/ddosbgp/struct_op_entities.go
  30. 26 0
      services/ddosbgp/struct_op_entity.go
  31. 26 0
      services/ddosbgp/struct_pack_config.go
  32. 27 0
      services/ddosbgp/struct_pack_paid_traffic.go
  33. 21 0
      services/ddosbgp/struct_pack_paid_traffics.go
  34. 22 0
      services/ddosbgp/struct_pack_usage.go
  35. 21 0
      services/ddosbgp/struct_pack_usages.go
  36. 23 0
      services/ddosbgp/struct_region.go
  37. 21 0
      services/ddosbgp/struct_regions.go
  38. 26 0
      services/ddosbgp/struct_resource_pack.go
  39. 21 0
      services/ddosbgp/struct_resource_packs.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-09-03 Version: 1.60.135
+- Generated 2018-02-01, 2018-07-20 for `ddosbgp`.
+
 2019-09-03 Version: 1.60.134
 - Generated 2018-02-01 for `ddosbgp`.
 

+ 107 - 0
services/ddosbgp/add_ip.go

@@ -0,0 +1,107 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AddIp invokes the ddosbgp.AddIp API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/addip.html
+func (client *Client) AddIp(request *AddIpRequest) (response *AddIpResponse, err error) {
+	response = CreateAddIpResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AddIpWithChan invokes the ddosbgp.AddIp API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/addip.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIpWithChan(request *AddIpRequest) (<-chan *AddIpResponse, <-chan error) {
+	responseChan := make(chan *AddIpResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AddIp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AddIpWithCallback invokes the ddosbgp.AddIp API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/addip.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AddIpWithCallback(request *AddIpRequest, callback func(response *AddIpResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AddIpResponse
+		var err error
+		defer close(result)
+		response, err = client.AddIp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AddIpRequest is the request struct for api AddIp
+type AddIpRequest struct {
+	*requests.RpcRequest
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	IpList           string `position:"Query" name:"IpList"`
+	InstanceId       string `position:"Query" name:"InstanceId"`
+	ResourceRegionId string `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string `position:"Query" name:"ResourceGroupId"`
+}
+
+// AddIpResponse is the response struct for api AddIp
+type AddIpResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateAddIpRequest creates a request to invoke AddIp API
+func CreateAddIpRequest() (request *AddIpRequest) {
+	request = &AddIpRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "AddIp", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateAddIpResponse creates a response to parse from AddIp response
+func CreateAddIpResponse() (response *AddIpResponse) {
+	response = &AddIpResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ddosbgp/check_grant.go

@@ -0,0 +1,105 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// CheckGrant invokes the ddosbgp.CheckGrant API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/checkgrant.html
+func (client *Client) CheckGrant(request *CheckGrantRequest) (response *CheckGrantResponse, err error) {
+	response = CreateCheckGrantResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CheckGrantWithChan invokes the ddosbgp.CheckGrant API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/checkgrant.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckGrantWithChan(request *CheckGrantRequest) (<-chan *CheckGrantResponse, <-chan error) {
+	responseChan := make(chan *CheckGrantResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CheckGrant(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CheckGrantWithCallback invokes the ddosbgp.CheckGrant API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/checkgrant.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CheckGrantWithCallback(request *CheckGrantRequest, callback func(response *CheckGrantResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CheckGrantResponse
+		var err error
+		defer close(result)
+		response, err = client.CheckGrant(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CheckGrantRequest is the request struct for api CheckGrant
+type CheckGrantRequest struct {
+	*requests.RpcRequest
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+}
+
+// CheckGrantResponse is the response struct for api CheckGrant
+type CheckGrantResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Status    int    `json:"Status" xml:"Status"`
+}
+
+// CreateCheckGrantRequest creates a request to invoke CheckGrant API
+func CreateCheckGrantRequest() (request *CheckGrantRequest) {
+	request = &CheckGrantRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "CheckGrant", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateCheckGrantResponse creates a response to parse from CheckGrant response
+func CreateCheckGrantResponse() (response *CheckGrantResponse) {
+	response = &CheckGrantResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ddosbgp/delete_blackhole.go

@@ -0,0 +1,107 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteBlackhole invokes the ddosbgp.DeleteBlackhole API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteblackhole.html
+func (client *Client) DeleteBlackhole(request *DeleteBlackholeRequest) (response *DeleteBlackholeResponse, err error) {
+	response = CreateDeleteBlackholeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteBlackholeWithChan invokes the ddosbgp.DeleteBlackhole API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteblackhole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteBlackholeWithChan(request *DeleteBlackholeRequest) (<-chan *DeleteBlackholeResponse, <-chan error) {
+	responseChan := make(chan *DeleteBlackholeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBlackhole(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteBlackholeWithCallback invokes the ddosbgp.DeleteBlackhole API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteblackhole.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteBlackholeWithCallback(request *DeleteBlackholeRequest, callback func(response *DeleteBlackholeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBlackholeResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBlackhole(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteBlackholeRequest is the request struct for api DeleteBlackhole
+type DeleteBlackholeRequest struct {
+	*requests.RpcRequest
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	Ip               string `position:"Query" name:"Ip"`
+	InstanceId       string `position:"Query" name:"InstanceId"`
+	ResourceRegionId string `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DeleteBlackholeResponse is the response struct for api DeleteBlackhole
+type DeleteBlackholeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteBlackholeRequest creates a request to invoke DeleteBlackhole API
+func CreateDeleteBlackholeRequest() (request *DeleteBlackholeRequest) {
+	request = &DeleteBlackholeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DeleteBlackhole", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDeleteBlackholeResponse creates a response to parse from DeleteBlackhole response
+func CreateDeleteBlackholeResponse() (response *DeleteBlackholeResponse) {
+	response = &DeleteBlackholeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ddosbgp/delete_ip.go

@@ -0,0 +1,107 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DeleteIp invokes the ddosbgp.DeleteIp API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteip.html
+func (client *Client) DeleteIp(request *DeleteIpRequest) (response *DeleteIpResponse, err error) {
+	response = CreateDeleteIpResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteIpWithChan invokes the ddosbgp.DeleteIp API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteip.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpWithChan(request *DeleteIpRequest) (<-chan *DeleteIpResponse, <-chan error) {
+	responseChan := make(chan *DeleteIpResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteIp(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteIpWithCallback invokes the ddosbgp.DeleteIp API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/deleteip.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteIpWithCallback(request *DeleteIpRequest, callback func(response *DeleteIpResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteIpResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteIp(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteIpRequest is the request struct for api DeleteIp
+type DeleteIpRequest struct {
+	*requests.RpcRequest
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	IpList           string `position:"Query" name:"IpList"`
+	InstanceId       string `position:"Query" name:"InstanceId"`
+	ResourceRegionId string `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DeleteIpResponse is the response struct for api DeleteIp
+type DeleteIpResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteIpRequest creates a request to invoke DeleteIp API
+func CreateDeleteIpRequest() (request *DeleteIpRequest) {
+	request = &DeleteIpRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DeleteIp", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDeleteIpResponse creates a response to parse from DeleteIp response
+func CreateDeleteIpResponse() (response *DeleteIpResponse) {
+	response = &DeleteIpResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/ddosbgp/describe_ddos_event.go

@@ -0,0 +1,113 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeDdosEvent invokes the ddosbgp.DescribeDdosEvent API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeddosevent.html
+func (client *Client) DescribeDdosEvent(request *DescribeDdosEventRequest) (response *DescribeDdosEventResponse, err error) {
+	response = CreateDescribeDdosEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeDdosEventWithChan invokes the ddosbgp.DescribeDdosEvent API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeddosevent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDdosEventWithChan(request *DescribeDdosEventRequest) (<-chan *DescribeDdosEventResponse, <-chan error) {
+	responseChan := make(chan *DescribeDdosEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeDdosEvent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeDdosEventWithCallback invokes the ddosbgp.DescribeDdosEvent API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeddosevent.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeDdosEventWithCallback(request *DescribeDdosEventRequest, callback func(response *DescribeDdosEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeDdosEventResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeDdosEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeDdosEventRequest is the request struct for api DescribeDdosEvent
+type DescribeDdosEventRequest struct {
+	*requests.RpcRequest
+	SourceIp         string           `position:"Query" name:"SourceIp"`
+	StartTime        requests.Integer `position:"Query" name:"StartTime"`
+	EndTime          requests.Integer `position:"Query" name:"EndTime"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	PageNo           requests.Integer `position:"Query" name:"PageNo"`
+	InstanceId       string           `position:"Query" name:"InstanceId"`
+	Ip               string           `position:"Query" name:"Ip"`
+	ResourceRegionId string           `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeDdosEventResponse is the response struct for api DescribeDdosEvent
+type DescribeDdosEventResponse struct {
+	*responses.BaseResponse
+	RequestId string  `json:"RequestId" xml:"RequestId"`
+	Total     int64   `json:"Total" xml:"Total"`
+	Events    []Event `json:"Events" xml:"Events"`
+}
+
+// CreateDescribeDdosEventRequest creates a request to invoke DescribeDdosEvent API
+func CreateDescribeDdosEventRequest() (request *DescribeDdosEventRequest) {
+	request = &DescribeDdosEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeDdosEvent", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeDdosEventResponse creates a response to parse from DescribeDdosEvent response
+func CreateDescribeDdosEventResponse() (response *DescribeDdosEventResponse) {
+	response = &DescribeDdosEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ddosbgp/describe_excpetion_count.go

@@ -0,0 +1,107 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeExcpetionCount invokes the ddosbgp.DescribeExcpetionCount API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeexcpetioncount.html
+func (client *Client) DescribeExcpetionCount(request *DescribeExcpetionCountRequest) (response *DescribeExcpetionCountResponse, err error) {
+	response = CreateDescribeExcpetionCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeExcpetionCountWithChan invokes the ddosbgp.DescribeExcpetionCount API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeexcpetioncount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExcpetionCountWithChan(request *DescribeExcpetionCountRequest) (<-chan *DescribeExcpetionCountResponse, <-chan error) {
+	responseChan := make(chan *DescribeExcpetionCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeExcpetionCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeExcpetionCountWithCallback invokes the ddosbgp.DescribeExcpetionCount API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeexcpetioncount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeExcpetionCountWithCallback(request *DescribeExcpetionCountRequest, callback func(response *DescribeExcpetionCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeExcpetionCountResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeExcpetionCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeExcpetionCountRequest is the request struct for api DescribeExcpetionCount
+type DescribeExcpetionCountRequest struct {
+	*requests.RpcRequest
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	DdosRegionId    string `position:"Query" name:"DdosRegionId"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeExcpetionCountResponse is the response struct for api DescribeExcpetionCount
+type DescribeExcpetionCountResponse struct {
+	*responses.BaseResponse
+	RequestId        string `json:"RequestId" xml:"RequestId"`
+	ExceptionIpCount int    `json:"ExceptionIpCount" xml:"ExceptionIpCount"`
+	ExpireTimeCount  int    `json:"ExpireTimeCount" xml:"ExpireTimeCount"`
+}
+
+// CreateDescribeExcpetionCountRequest creates a request to invoke DescribeExcpetionCount API
+func CreateDescribeExcpetionCountRequest() (request *DescribeExcpetionCountRequest) {
+	request = &DescribeExcpetionCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeExcpetionCount", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeExcpetionCountResponse creates a response to parse from DescribeExcpetionCount response
+func CreateDescribeExcpetionCountResponse() (response *DescribeExcpetionCountResponse) {
+	response = &DescribeExcpetionCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 123 - 0
services/ddosbgp/describe_instance_list.go

@@ -0,0 +1,123 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstanceList invokes the ddosbgp.DescribeInstanceList API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancelist.html
+func (client *Client) DescribeInstanceList(request *DescribeInstanceListRequest) (response *DescribeInstanceListResponse, err error) {
+	response = CreateDescribeInstanceListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceListWithChan invokes the ddosbgp.DescribeInstanceList API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceListWithChan(request *DescribeInstanceListRequest) (<-chan *DescribeInstanceListResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceListWithCallback invokes the ddosbgp.DescribeInstanceList API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceListWithCallback(request *DescribeInstanceListRequest, callback func(response *DescribeInstanceListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceListRequest is the request struct for api DescribeInstanceList
+type DescribeInstanceListRequest struct {
+	*requests.RpcRequest
+	SourceIp        string                     `position:"Query" name:"SourceIp"`
+	ResourceGroupId string                     `position:"Query" name:"ResourceGroupId"`
+	InstanceIdList  string                     `position:"Query" name:"InstanceIdList"`
+	Remark          string                     `position:"Query" name:"Remark"`
+	PageNo          requests.Integer           `position:"Query" name:"PageNo"`
+	PageSize        requests.Integer           `position:"Query" name:"PageSize"`
+	DdosRegionId    string                     `position:"Query" name:"DdosRegionId"`
+	IpVersion       string                     `position:"Query" name:"IpVersion"`
+	InstanceType    string                     `position:"Query" name:"InstanceType"`
+	Ip              string                     `position:"Query" name:"Ip"`
+	Orderby         string                     `position:"Query" name:"Orderby"`
+	Orderdire       string                     `position:"Query" name:"Orderdire"`
+	Tag             *[]DescribeInstanceListTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// DescribeInstanceListTag is a repeated param struct in DescribeInstanceListRequest
+type DescribeInstanceListTag struct {
+	Key   string `name:"Key"`
+	Value string `name:"Value"`
+}
+
+// DescribeInstanceListResponse is the response struct for api DescribeInstanceList
+type DescribeInstanceListResponse struct {
+	*responses.BaseResponse
+	RequestId    string     `json:"RequestId" xml:"RequestId"`
+	Total        int64      `json:"Total" xml:"Total"`
+	InstanceList []Instance `json:"InstanceList" xml:"InstanceList"`
+}
+
+// CreateDescribeInstanceListRequest creates a request to invoke DescribeInstanceList API
+func CreateDescribeInstanceListRequest() (request *DescribeInstanceListRequest) {
+	request = &DescribeInstanceListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeInstanceList", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceListResponse creates a response to parse from DescribeInstanceList response
+func CreateDescribeInstanceListResponse() (response *DescribeInstanceListResponse) {
+	response = &DescribeInstanceListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/ddosbgp/describe_instance_specs.go

@@ -0,0 +1,108 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeInstanceSpecs invokes the ddosbgp.DescribeInstanceSpecs API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancespecs.html
+func (client *Client) DescribeInstanceSpecs(request *DescribeInstanceSpecsRequest) (response *DescribeInstanceSpecsResponse, err error) {
+	response = CreateDescribeInstanceSpecsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceSpecsWithChan invokes the ddosbgp.DescribeInstanceSpecs API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancespecs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSpecsWithChan(request *DescribeInstanceSpecsRequest) (<-chan *DescribeInstanceSpecsResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceSpecsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceSpecs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceSpecsWithCallback invokes the ddosbgp.DescribeInstanceSpecs API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeinstancespecs.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceSpecsWithCallback(request *DescribeInstanceSpecsRequest, callback func(response *DescribeInstanceSpecsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceSpecsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceSpecs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceSpecsRequest is the request struct for api DescribeInstanceSpecs
+type DescribeInstanceSpecsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	Lang            string `position:"Query" name:"Lang"`
+	InstanceIdList  string `position:"Query" name:"InstanceIdList"`
+	DdosRegionId    string `position:"Query" name:"DdosRegionId"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeInstanceSpecsResponse is the response struct for api DescribeInstanceSpecs
+type DescribeInstanceSpecsResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	InstanceSpecs []InstanceSpec `json:"InstanceSpecs" xml:"InstanceSpecs"`
+}
+
+// CreateDescribeInstanceSpecsRequest creates a request to invoke DescribeInstanceSpecs API
+func CreateDescribeInstanceSpecsRequest() (request *DescribeInstanceSpecsRequest) {
+	request = &DescribeInstanceSpecsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeInstanceSpecs", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceSpecsResponse creates a response to parse from DescribeInstanceSpecs response
+func CreateDescribeInstanceSpecsResponse() (response *DescribeInstanceSpecsResponse) {
+	response = &DescribeInstanceSpecsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/ddosbgp/describe_op_entities.go

@@ -0,0 +1,115 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeOpEntities invokes the ddosbgp.DescribeOpEntities API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeopentities.html
+func (client *Client) DescribeOpEntities(request *DescribeOpEntitiesRequest) (response *DescribeOpEntitiesResponse, err error) {
+	response = CreateDescribeOpEntitiesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeOpEntitiesWithChan invokes the ddosbgp.DescribeOpEntities API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeopentities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeOpEntitiesWithChan(request *DescribeOpEntitiesRequest) (<-chan *DescribeOpEntitiesResponse, <-chan error) {
+	responseChan := make(chan *DescribeOpEntitiesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeOpEntities(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeOpEntitiesWithCallback invokes the ddosbgp.DescribeOpEntities API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeopentities.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeOpEntitiesWithCallback(request *DescribeOpEntitiesRequest, callback func(response *DescribeOpEntitiesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeOpEntitiesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeOpEntities(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeOpEntitiesRequest is the request struct for api DescribeOpEntities
+type DescribeOpEntitiesRequest struct {
+	*requests.RpcRequest
+	SourceIp         string           `position:"Query" name:"SourceIp"`
+	Lang             string           `position:"Query" name:"Lang"`
+	CurrentPage      requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize         requests.Integer `position:"Query" name:"PageSize"`
+	StartTime        requests.Integer `position:"Query" name:"StartTime"`
+	EndTime          requests.Integer `position:"Query" name:"EndTime"`
+	OrderBy          string           `position:"Query" name:"OrderBy"`
+	OrderDir         string           `position:"Query" name:"OrderDir"`
+	InstanceId       string           `position:"Query" name:"InstanceId"`
+	ResourceRegionId string           `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeOpEntitiesResponse is the response struct for api DescribeOpEntities
+type DescribeOpEntitiesResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int        `json:"TotalCount" xml:"TotalCount"`
+	OpEntities []OpEntity `json:"OpEntities" xml:"OpEntities"`
+}
+
+// CreateDescribeOpEntitiesRequest creates a request to invoke DescribeOpEntities API
+func CreateDescribeOpEntitiesRequest() (request *DescribeOpEntitiesRequest) {
+	request = &DescribeOpEntitiesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeOpEntities", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeOpEntitiesResponse creates a response to parse from DescribeOpEntities response
+func CreateDescribeOpEntitiesResponse() (response *DescribeOpEntitiesResponse) {
+	response = &DescribeOpEntitiesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/ddosbgp/describe_pack_ip_list.go

@@ -0,0 +1,114 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribePackIpList invokes the ddosbgp.DescribePackIpList API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackiplist.html
+func (client *Client) DescribePackIpList(request *DescribePackIpListRequest) (response *DescribePackIpListResponse, err error) {
+	response = CreateDescribePackIpListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePackIpListWithChan invokes the ddosbgp.DescribePackIpList API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackiplist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePackIpListWithChan(request *DescribePackIpListRequest) (<-chan *DescribePackIpListResponse, <-chan error) {
+	responseChan := make(chan *DescribePackIpListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePackIpList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePackIpListWithCallback invokes the ddosbgp.DescribePackIpList API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackiplist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePackIpListWithCallback(request *DescribePackIpListRequest, callback func(response *DescribePackIpListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePackIpListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePackIpList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePackIpListRequest is the request struct for api DescribePackIpList
+type DescribePackIpListRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	PageNo          requests.Integer `position:"Query" name:"PageNo"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	DdosRegionId    string           `position:"Query" name:"DdosRegionId"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	Ip              string           `position:"Query" name:"Ip"`
+	ProductName     string           `position:"Query" name:"ProductName"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribePackIpListResponse is the response struct for api DescribePackIpList
+type DescribePackIpListResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Success   bool     `json:"Success" xml:"Success"`
+	Code      string   `json:"Code" xml:"Code"`
+	Total     int      `json:"Total" xml:"Total"`
+	IpList    []Ipitem `json:"IpList" xml:"IpList"`
+}
+
+// CreateDescribePackIpListRequest creates a request to invoke DescribePackIpList API
+func CreateDescribePackIpListRequest() (request *DescribePackIpListRequest) {
+	request = &DescribePackIpListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribePackIpList", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribePackIpListResponse creates a response to parse from DescribePackIpList response
+func CreateDescribePackIpListResponse() (response *DescribePackIpListResponse) {
+	response = &DescribePackIpListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/ddosbgp/describe_pack_paid_traffic.go

@@ -0,0 +1,111 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribePackPaidTraffic invokes the ddosbgp.DescribePackPaidTraffic API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackpaidtraffic.html
+func (client *Client) DescribePackPaidTraffic(request *DescribePackPaidTrafficRequest) (response *DescribePackPaidTrafficResponse, err error) {
+	response = CreateDescribePackPaidTrafficResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePackPaidTrafficWithChan invokes the ddosbgp.DescribePackPaidTraffic API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackpaidtraffic.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePackPaidTrafficWithChan(request *DescribePackPaidTrafficRequest) (<-chan *DescribePackPaidTrafficResponse, <-chan error) {
+	responseChan := make(chan *DescribePackPaidTrafficResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePackPaidTraffic(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePackPaidTrafficWithCallback invokes the ddosbgp.DescribePackPaidTraffic API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describepackpaidtraffic.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePackPaidTrafficWithCallback(request *DescribePackPaidTrafficRequest, callback func(response *DescribePackPaidTrafficResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePackPaidTrafficResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePackPaidTraffic(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePackPaidTrafficRequest is the request struct for api DescribePackPaidTraffic
+type DescribePackPaidTrafficRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	StartTime       requests.Integer `position:"Query" name:"StartTime"`
+	EndTime         requests.Integer `position:"Query" name:"EndTime"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribePackPaidTrafficResponse is the response struct for api DescribePackPaidTraffic
+type DescribePackPaidTrafficResponse struct {
+	*responses.BaseResponse
+	RequestId        string            `json:"RequestId" xml:"RequestId"`
+	TotalCount       int               `json:"TotalCount" xml:"TotalCount"`
+	PackPaidTraffics []PackPaidTraffic `json:"PackPaidTraffics" xml:"PackPaidTraffics"`
+}
+
+// CreateDescribePackPaidTrafficRequest creates a request to invoke DescribePackPaidTraffic API
+func CreateDescribePackPaidTrafficRequest() (request *DescribePackPaidTrafficRequest) {
+	request = &DescribePackPaidTrafficRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribePackPaidTraffic", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribePackPaidTrafficResponse creates a response to parse from DescribePackPaidTraffic response
+func CreateDescribePackPaidTrafficResponse() (response *DescribePackPaidTrafficResponse) {
+	response = &DescribePackPaidTrafficResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ddosbgp/describe_regions.go

@@ -0,0 +1,107 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRegions invokes the ddosbgp.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the ddosbgp.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the ddosbgp.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Success   bool     `json:"Success" xml:"Success"`
+	Code      string   `json:"Code" xml:"Code"`
+	Regions   []Region `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeRegions", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/ddosbgp/describe_resource_pack_instances.go

@@ -0,0 +1,108 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeResourcePackInstances invokes the ddosbgp.DescribeResourcePackInstances API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackinstances.html
+func (client *Client) DescribeResourcePackInstances(request *DescribeResourcePackInstancesRequest) (response *DescribeResourcePackInstancesResponse, err error) {
+	response = CreateDescribeResourcePackInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourcePackInstancesWithChan invokes the ddosbgp.DescribeResourcePackInstances API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackInstancesWithChan(request *DescribeResourcePackInstancesRequest) (<-chan *DescribeResourcePackInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourcePackInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourcePackInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourcePackInstancesWithCallback invokes the ddosbgp.DescribeResourcePackInstances API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackInstancesWithCallback(request *DescribeResourcePackInstancesRequest, callback func(response *DescribeResourcePackInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourcePackInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourcePackInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourcePackInstancesRequest is the request struct for api DescribeResourcePackInstances
+type DescribeResourcePackInstancesRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeResourcePackInstancesResponse is the response struct for api DescribeResourcePackInstances
+type DescribeResourcePackInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	TotalCount    int            `json:"TotalCount" xml:"TotalCount"`
+	ResourcePacks []ResourcePack `json:"ResourcePacks" xml:"ResourcePacks"`
+}
+
+// CreateDescribeResourcePackInstancesRequest creates a request to invoke DescribeResourcePackInstances API
+func CreateDescribeResourcePackInstancesRequest() (request *DescribeResourcePackInstancesRequest) {
+	request = &DescribeResourcePackInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeResourcePackInstances", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeResourcePackInstancesResponse creates a response to parse from DescribeResourcePackInstances response
+func CreateDescribeResourcePackInstancesResponse() (response *DescribeResourcePackInstancesResponse) {
+	response = &DescribeResourcePackInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/ddosbgp/describe_resource_pack_statistics.go

@@ -0,0 +1,110 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeResourcePackStatistics invokes the ddosbgp.DescribeResourcePackStatistics API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackstatistics.html
+func (client *Client) DescribeResourcePackStatistics(request *DescribeResourcePackStatisticsRequest) (response *DescribeResourcePackStatisticsResponse, err error) {
+	response = CreateDescribeResourcePackStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourcePackStatisticsWithChan invokes the ddosbgp.DescribeResourcePackStatistics API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackstatistics.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackStatisticsWithChan(request *DescribeResourcePackStatisticsRequest) (<-chan *DescribeResourcePackStatisticsResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourcePackStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourcePackStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourcePackStatisticsWithCallback invokes the ddosbgp.DescribeResourcePackStatistics API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackstatistics.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackStatisticsWithCallback(request *DescribeResourcePackStatisticsRequest, callback func(response *DescribeResourcePackStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourcePackStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourcePackStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourcePackStatisticsRequest is the request struct for api DescribeResourcePackStatistics
+type DescribeResourcePackStatisticsRequest struct {
+	*requests.RpcRequest
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	DdosRegionId    string `position:"Query" name:"DdosRegionId"`
+	InstanceId      string `position:"Query" name:"InstanceId"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeResourcePackStatisticsResponse is the response struct for api DescribeResourcePackStatistics
+type DescribeResourcePackStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId         string `json:"RequestId" xml:"RequestId"`
+	AvailablePackNum  int    `json:"AvailablePackNum" xml:"AvailablePackNum"`
+	TotalCurrCapacity int64  `json:"TotalCurrCapacity" xml:"TotalCurrCapacity"`
+	TotalUsedCapacity int64  `json:"TotalUsedCapacity" xml:"TotalUsedCapacity"`
+	TotalInitCapacity int64  `json:"TotalInitCapacity" xml:"TotalInitCapacity"`
+}
+
+// CreateDescribeResourcePackStatisticsRequest creates a request to invoke DescribeResourcePackStatistics API
+func CreateDescribeResourcePackStatisticsRequest() (request *DescribeResourcePackStatisticsRequest) {
+	request = &DescribeResourcePackStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeResourcePackStatistics", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeResourcePackStatisticsResponse creates a response to parse from DescribeResourcePackStatistics response
+func CreateDescribeResourcePackStatisticsResponse() (response *DescribeResourcePackStatisticsResponse) {
+	response = &DescribeResourcePackStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/ddosbgp/describe_resource_pack_usage.go

@@ -0,0 +1,111 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeResourcePackUsage invokes the ddosbgp.DescribeResourcePackUsage API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackusage.html
+func (client *Client) DescribeResourcePackUsage(request *DescribeResourcePackUsageRequest) (response *DescribeResourcePackUsageResponse, err error) {
+	response = CreateDescribeResourcePackUsageResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourcePackUsageWithChan invokes the ddosbgp.DescribeResourcePackUsage API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackUsageWithChan(request *DescribeResourcePackUsageRequest) (<-chan *DescribeResourcePackUsageResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourcePackUsageResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourcePackUsage(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourcePackUsageWithCallback invokes the ddosbgp.DescribeResourcePackUsage API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describeresourcepackusage.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcePackUsageWithCallback(request *DescribeResourcePackUsageRequest, callback func(response *DescribeResourcePackUsageResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourcePackUsageResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourcePackUsage(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourcePackUsageRequest is the request struct for api DescribeResourcePackUsage
+type DescribeResourcePackUsageRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	EndTime         requests.Integer `position:"Query" name:"EndTime"`
+	StartTime       requests.Integer `position:"Query" name:"StartTime"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeResourcePackUsageResponse is the response struct for api DescribeResourcePackUsage
+type DescribeResourcePackUsageResponse struct {
+	*responses.BaseResponse
+	RequestId  string      `json:"RequestId" xml:"RequestId"`
+	Interval   int64       `json:"Interval" xml:"Interval"`
+	StartTime  int64       `json:"StartTime" xml:"StartTime"`
+	EndTime    int64       `json:"EndTime" xml:"EndTime"`
+	PackUsages []PackUsage `json:"PackUsages" xml:"PackUsages"`
+}
+
+// CreateDescribeResourcePackUsageRequest creates a request to invoke DescribeResourcePackUsage API
+func CreateDescribeResourcePackUsageRequest() (request *DescribeResourcePackUsageRequest) {
+	request = &DescribeResourcePackUsageRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeResourcePackUsage", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeResourcePackUsageResponse creates a response to parse from DescribeResourcePackUsage response
+func CreateDescribeResourcePackUsageResponse() (response *DescribeResourcePackUsageResponse) {
+	response = &DescribeResourcePackUsageResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/ddosbgp/describe_traffic.go

@@ -0,0 +1,110 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeTraffic invokes the ddosbgp.DescribeTraffic API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describetraffic.html
+func (client *Client) DescribeTraffic(request *DescribeTrafficRequest) (response *DescribeTrafficResponse, err error) {
+	response = CreateDescribeTrafficResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTrafficWithChan invokes the ddosbgp.DescribeTraffic API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describetraffic.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficWithChan(request *DescribeTrafficRequest) (<-chan *DescribeTrafficResponse, <-chan error) {
+	responseChan := make(chan *DescribeTrafficResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTraffic(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTrafficWithCallback invokes the ddosbgp.DescribeTraffic API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/describetraffic.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTrafficWithCallback(request *DescribeTrafficRequest, callback func(response *DescribeTrafficResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTrafficResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTraffic(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTrafficRequest is the request struct for api DescribeTraffic
+type DescribeTrafficRequest struct {
+	*requests.RpcRequest
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	InstanceId      string           `position:"Query" name:"InstanceId"`
+	Ip              string           `position:"Query" name:"Ip"`
+	StartTime       requests.Integer `position:"Query" name:"StartTime"`
+	EndTime         requests.Integer `position:"Query" name:"EndTime"`
+	Interval        requests.Integer `position:"Query" name:"Interval"`
+	ResourceGroupId string           `position:"Query" name:"ResourceGroupId"`
+}
+
+// DescribeTrafficResponse is the response struct for api DescribeTraffic
+type DescribeTrafficResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	FlowList  []Flow `json:"FlowList" xml:"FlowList"`
+}
+
+// CreateDescribeTrafficRequest creates a request to invoke DescribeTraffic API
+func CreateDescribeTrafficRequest() (request *DescribeTrafficRequest) {
+	request = &DescribeTrafficRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "DescribeTraffic", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateDescribeTrafficResponse creates a response to parse from DescribeTraffic response
+func CreateDescribeTrafficResponse() (response *DescribeTrafficResponse) {
+	response = &DescribeTrafficResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/ddosbgp/modify_remark.go

@@ -0,0 +1,108 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// ModifyRemark invokes the ddosbgp.ModifyRemark API synchronously
+// api document: https://help.aliyun.com/api/ddosbgp/modifyremark.html
+func (client *Client) ModifyRemark(request *ModifyRemarkRequest) (response *ModifyRemarkResponse, err error) {
+	response = CreateModifyRemarkResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRemarkWithChan invokes the ddosbgp.ModifyRemark API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/modifyremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRemarkWithChan(request *ModifyRemarkRequest) (<-chan *ModifyRemarkResponse, <-chan error) {
+	responseChan := make(chan *ModifyRemarkResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRemark(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRemarkWithCallback invokes the ddosbgp.ModifyRemark API asynchronously
+// api document: https://help.aliyun.com/api/ddosbgp/modifyremark.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRemarkWithCallback(request *ModifyRemarkRequest, callback func(response *ModifyRemarkResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRemarkResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRemark(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRemarkRequest is the request struct for api ModifyRemark
+type ModifyRemarkRequest struct {
+	*requests.RpcRequest
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	Lang             string `position:"Query" name:"Lang"`
+	InstanceId       string `position:"Query" name:"InstanceId"`
+	Remark           string `position:"Query" name:"Remark"`
+	ResourceRegionId string `position:"Query" name:"ResourceRegionId"`
+	ResourceGroupId  string `position:"Query" name:"ResourceGroupId"`
+}
+
+// ModifyRemarkResponse is the response struct for api ModifyRemark
+type ModifyRemarkResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRemarkRequest creates a request to invoke ModifyRemark API
+func CreateModifyRemarkRequest() (request *ModifyRemarkRequest) {
+	request = &ModifyRemarkRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ddosbgp", "2018-07-20", "ModifyRemark", "ddosbgp", "openAPI")
+	return
+}
+
+// CreateModifyRemarkResponse creates a response to parse from ModifyRemark response
+func CreateModifyRemarkResponse() (response *ModifyRemarkResponse) {
+	response = &ModifyRemarkResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 26 - 0
services/ddosbgp/struct_event.go

@@ -0,0 +1,26 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Event is a nested struct in ddosbgp response
+type Event struct {
+	StartTime int    `json:"StartTime" xml:"StartTime"`
+	EndTime   int    `json:"EndTime" xml:"EndTime"`
+	Pps       int    `json:"Pps" xml:"Pps"`
+	Ip        string `json:"Ip" xml:"Ip"`
+	Mbps      int    `json:"Mbps" xml:"Mbps"`
+	Status    string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/ddosbgp/struct_events.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Events is a nested struct in ddosbgp response
+type Events struct {
+	Event []Event `json:"Event" xml:"Event"`
+}

+ 25 - 0
services/ddosbgp/struct_flow.go

@@ -0,0 +1,25 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Flow is a nested struct in ddosbgp response
+type Flow struct {
+	Pps      int    `json:"Pps" xml:"Pps"`
+	FlowType string `json:"FlowType" xml:"FlowType"`
+	Kbps     int    `json:"Kbps" xml:"Kbps"`
+	Name     string `json:"Name" xml:"Name"`
+	Time     int    `json:"Time" xml:"Time"`
+}

+ 21 - 0
services/ddosbgp/struct_flow_list.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// FlowList is a nested struct in ddosbgp response
+type FlowList struct {
+	Flow []Flow `json:"Flow" xml:"Flow"`
+}

+ 29 - 0
services/ddosbgp/struct_instance.go

@@ -0,0 +1,29 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Instance is a nested struct in ddosbgp response
+type Instance struct {
+	ExpireTime        int64  `json:"ExpireTime" xml:"ExpireTime"`
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	Product           string `json:"Product" xml:"Product"`
+	Remark            string `json:"Remark" xml:"Remark"`
+	Status            string `json:"Status" xml:"Status"`
+	IpType            string `json:"IpType" xml:"IpType"`
+	AutoRenewal       bool   `json:"AutoRenewal" xml:"AutoRenewal"`
+	BlackholdingCount string `json:"BlackholdingCount" xml:"BlackholdingCount"`
+	GmtCreate         int64  `json:"GmtCreate" xml:"GmtCreate"`
+}

+ 21 - 0
services/ddosbgp/struct_instance_list.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// InstanceList is a nested struct in ddosbgp response
+type InstanceList struct {
+	Instance []Instance `json:"Instance" xml:"Instance"`
+}

+ 24 - 0
services/ddosbgp/struct_instance_spec.go

@@ -0,0 +1,24 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// InstanceSpec is a nested struct in ddosbgp response
+type InstanceSpec struct {
+	Region                        string     `json:"Region" xml:"Region"`
+	AvailableDeleteBlackholeCount string     `json:"AvailableDeleteBlackholeCount" xml:"AvailableDeleteBlackholeCount"`
+	InstanceId                    string     `json:"InstanceId" xml:"InstanceId"`
+	PackConfig                    PackConfig `json:"PackConfig" xml:"PackConfig"`
+}

+ 21 - 0
services/ddosbgp/struct_instance_specs.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// InstanceSpecs is a nested struct in ddosbgp response
+type InstanceSpecs struct {
+	InstanceSpec []InstanceSpec `json:"InstanceSpec" xml:"InstanceSpec"`
+}

+ 21 - 0
services/ddosbgp/struct_ip_list.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// IpList is a nested struct in ddosbgp response
+type IpList struct {
+	Ipitem []Ipitem `json:"Ipitem" xml:"Ipitem"`
+}

+ 24 - 0
services/ddosbgp/struct_ipitem.go

@@ -0,0 +1,24 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Ipitem is a nested struct in ddosbgp response
+type Ipitem struct {
+	Ip      string `json:"Ip" xml:"Ip"`
+	Product string `json:"Product" xml:"Product"`
+	Status  string `json:"Status" xml:"Status"`
+	Remark  string `json:"Remark" xml:"Remark"`
+}

+ 21 - 0
services/ddosbgp/struct_op_entities.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// OpEntities is a nested struct in ddosbgp response
+type OpEntities struct {
+	OpEntity []OpEntity `json:"OpEntity" xml:"OpEntity"`
+}

+ 26 - 0
services/ddosbgp/struct_op_entity.go

@@ -0,0 +1,26 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// OpEntity is a nested struct in ddosbgp response
+type OpEntity struct {
+	EntityObject string `json:"EntityObject" xml:"EntityObject"`
+	EntityType   int    `json:"EntityType" xml:"EntityType"`
+	OpDesc       string `json:"OpDesc" xml:"OpDesc"`
+	OpAccount    string `json:"OpAccount" xml:"OpAccount"`
+	OpAction     int    `json:"OpAction" xml:"OpAction"`
+	GmtCreate    int64  `json:"GmtCreate" xml:"GmtCreate"`
+}

+ 26 - 0
services/ddosbgp/struct_pack_config.go

@@ -0,0 +1,26 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PackConfig is a nested struct in ddosbgp response
+type PackConfig struct {
+	PackAdvThre   int `json:"PackAdvThre" xml:"PackAdvThre"`
+	IpAdvanceThre int `json:"IpAdvanceThre" xml:"IpAdvanceThre"`
+	IpBasicThre   int `json:"IpBasicThre" xml:"IpBasicThre"`
+	PackBasicThre int `json:"PackBasicThre" xml:"PackBasicThre"`
+	IpSpec        int `json:"IpSpec" xml:"IpSpec"`
+	BindIpCount   int `json:"BindIpCount" xml:"BindIpCount"`
+}

+ 27 - 0
services/ddosbgp/struct_pack_paid_traffic.go

@@ -0,0 +1,27 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PackPaidTraffic is a nested struct in ddosbgp response
+type PackPaidTraffic struct {
+	InstanceId       string  `json:"InstanceId" xml:"InstanceId"`
+	StartTime        int64   `json:"StartTime" xml:"StartTime"`
+	BaseBandwidth    int     `json:"BaseBandwidth" xml:"BaseBandwidth"`
+	ElasticBandwidth int     `json:"ElasticBandwidth" xml:"ElasticBandwidth"`
+	PaidCapacity     float64 `json:"PaidCapacity" xml:"PaidCapacity"`
+	TotalCapacity    float64 `json:"TotalCapacity" xml:"TotalCapacity"`
+	MaxAttack        float64 `json:"MaxAttack" xml:"MaxAttack"`
+}

+ 21 - 0
services/ddosbgp/struct_pack_paid_traffics.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PackPaidTraffics is a nested struct in ddosbgp response
+type PackPaidTraffics struct {
+	PackPaidTraffic []PackPaidTraffic `json:"PackPaidTraffic" xml:"PackPaidTraffic"`
+}

+ 22 - 0
services/ddosbgp/struct_pack_usage.go

@@ -0,0 +1,22 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PackUsage is a nested struct in ddosbgp response
+type PackUsage struct {
+	Traffic float64 `json:"Traffic" xml:"Traffic"`
+	Time    int64   `json:"Time" xml:"Time"`
+}

+ 21 - 0
services/ddosbgp/struct_pack_usages.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// PackUsages is a nested struct in ddosbgp response
+type PackUsages struct {
+	PackUsage []PackUsage `json:"PackUsage" xml:"PackUsage"`
+}

+ 23 - 0
services/ddosbgp/struct_region.go

@@ -0,0 +1,23 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Region is a nested struct in ddosbgp response
+type Region struct {
+	RegionEnName string `json:"RegionEnName" xml:"RegionEnName"`
+	RegionName   string `json:"RegionName" xml:"RegionName"`
+	RegionId     string `json:"RegionId" xml:"RegionId"`
+}

+ 21 - 0
services/ddosbgp/struct_regions.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// Regions is a nested struct in ddosbgp response
+type Regions struct {
+	Region []Region `json:"Region" xml:"Region"`
+}

+ 26 - 0
services/ddosbgp/struct_resource_pack.go

@@ -0,0 +1,26 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResourcePack is a nested struct in ddosbgp response
+type ResourcePack struct {
+	ResourcePackId string `json:"ResourcePackId" xml:"ResourcePackId"`
+	InitCapacity   int64  `json:"InitCapacity" xml:"InitCapacity"`
+	CurrCapacity   int64  `json:"CurrCapacity" xml:"CurrCapacity"`
+	StartTime      int64  `json:"StartTime" xml:"StartTime"`
+	EndTime        int64  `json:"EndTime" xml:"EndTime"`
+	Status         string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/ddosbgp/struct_resource_packs.go

@@ -0,0 +1,21 @@
+package ddosbgp
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+// ResourcePacks is a nested struct in ddosbgp response
+type ResourcePacks struct {
+	ResourcePack []ResourcePack `json:"ResourcePack" xml:"ResourcePack"`
+}