Browse Source

SAS-API SDK Auto Released By shenshi,Version:1.53.39

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 years ago
parent
commit
5e8823128f
29 changed files with 1751 additions and 0 deletions
  1. 3 0
      ChangeLog.txt
  2. 81 0
      services/sas-api/client.go
  3. 110 0
      services/sas-api/describe_account_profile_by_key.go
  4. 108 0
      services/sas-api/describe_account_profile_by_key_word.go
  5. 109 0
      services/sas-api/describe_hit_rate_column.go
  6. 108 0
      services/sas-api/describe_hit_rate_pie.go
  7. 105 0
      services/sas-api/describe_per_date_data.go
  8. 109 0
      services/sas-api/describe_threat_distribute.go
  9. 106 0
      services/sas-api/describe_threat_type_lines.go
  10. 106 0
      services/sas-api/describe_total_and_rate_line.go
  11. 118 0
      services/sas-api/get_account_profile.go
  12. 107 0
      services/sas-api/get_instance_count.go
  13. 116 0
      services/sas-api/get_ip_profile.go
  14. 110 0
      services/sas-api/get_phone_profile.go
  15. 21 0
      services/sas-api/struct_categories_in_describe_threat_distribute.go
  16. 21 0
      services/sas-api/struct_categories_in_describe_threat_type_lines.go
  17. 21 0
      services/sas-api/struct_categories_in_describe_total_and_rate_line.go
  18. 25 0
      services/sas-api/struct_data.go
  19. 51 0
      services/sas-api/struct_data_view.go
  20. 21 0
      services/sas-api/struct_data_view_in_describe_per_date_data.go
  21. 23 0
      services/sas-api/struct_item.go
  22. 23 0
      services/sas-api/struct_item_in_describe_hit_rate_column.go
  23. 22 0
      services/sas-api/struct_item_in_describe_hit_rate_pie.go
  24. 21 0
      services/sas-api/struct_items_in_describe_hit_rate_column.go
  25. 21 0
      services/sas-api/struct_items_in_describe_hit_rate_pie.go
  26. 21 0
      services/sas-api/struct_items_in_describe_threat_distribute.go
  27. 21 0
      services/sas-api/struct_items_in_describe_threat_type_lines.go
  28. 21 0
      services/sas-api/struct_items_in_describe_total_and_rate_line.go
  29. 22 0
      services/sas-api/struct_time_scope.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-03-14 Version: 1.53.39
+1, Update Dependency
+
 2019-03-14 Version: 1.53.38
 1, Update Dependency
 

+ 81 - 0
services/sas-api/client.go

@@ -0,0 +1,81 @@
+package sas_api
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 110 - 0
services/sas-api/describe_account_profile_by_key.go

@@ -0,0 +1,110 @@
+package sas_api
+
+//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"
+)
+
+// DescribeAccountProfileByKey invokes the sas_api.DescribeAccountProfileByKey API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykey.html
+func (client *Client) DescribeAccountProfileByKey(request *DescribeAccountProfileByKeyRequest) (response *DescribeAccountProfileByKeyResponse, err error) {
+	response = CreateDescribeAccountProfileByKeyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccountProfileByKeyWithChan invokes the sas_api.DescribeAccountProfileByKey API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykey.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountProfileByKeyWithChan(request *DescribeAccountProfileByKeyRequest) (<-chan *DescribeAccountProfileByKeyResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccountProfileByKeyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccountProfileByKey(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccountProfileByKeyWithCallback invokes the sas_api.DescribeAccountProfileByKey API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykey.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountProfileByKeyWithCallback(request *DescribeAccountProfileByKeyRequest, callback func(response *DescribeAccountProfileByKeyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccountProfileByKeyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccountProfileByKey(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccountProfileByKeyRequest is the request struct for api DescribeAccountProfileByKey
+type DescribeAccountProfileByKeyRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+	Keyword  string `position:"Query" name:"Keyword"`
+}
+
+// DescribeAccountProfileByKeyResponse is the response struct for api DescribeAccountProfileByKey
+type DescribeAccountProfileByKeyResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	Ip           string `json:"Ip" xml:"Ip"`
+	IpInfo       string `json:"IpInfo" xml:"IpInfo"`
+	Phone        string `json:"Phone" xml:"Phone"`
+	PhoneInfo    string `json:"PhoneInfo" xml:"PhoneInfo"`
+	KeywordCount int    `json:"KeywordCount" xml:"KeywordCount"`
+	KeywordLimit int    `json:"KeywordLimit" xml:"KeywordLimit"`
+}
+
+// CreateDescribeAccountProfileByKeyRequest creates a request to invoke DescribeAccountProfileByKey API
+func CreateDescribeAccountProfileByKeyRequest() (request *DescribeAccountProfileByKeyRequest) {
+	request = &DescribeAccountProfileByKeyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeAccountProfileByKey", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeAccountProfileByKeyResponse creates a response to parse from DescribeAccountProfileByKey response
+func CreateDescribeAccountProfileByKeyResponse() (response *DescribeAccountProfileByKeyResponse) {
+	response = &DescribeAccountProfileByKeyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas-api/describe_account_profile_by_key_word.go

@@ -0,0 +1,108 @@
+package sas_api
+
+//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"
+)
+
+// DescribeAccountProfileByKeyWord invokes the sas_api.DescribeAccountProfileByKeyWord API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykeyword.html
+func (client *Client) DescribeAccountProfileByKeyWord(request *DescribeAccountProfileByKeyWordRequest) (response *DescribeAccountProfileByKeyWordResponse, err error) {
+	response = CreateDescribeAccountProfileByKeyWordResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccountProfileByKeyWordWithChan invokes the sas_api.DescribeAccountProfileByKeyWord API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykeyword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountProfileByKeyWordWithChan(request *DescribeAccountProfileByKeyWordRequest) (<-chan *DescribeAccountProfileByKeyWordResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccountProfileByKeyWordResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccountProfileByKeyWord(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccountProfileByKeyWordWithCallback invokes the sas_api.DescribeAccountProfileByKeyWord API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeaccountprofilebykeyword.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccountProfileByKeyWordWithCallback(request *DescribeAccountProfileByKeyWordRequest, callback func(response *DescribeAccountProfileByKeyWordResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccountProfileByKeyWordResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccountProfileByKeyWord(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccountProfileByKeyWordRequest is the request struct for api DescribeAccountProfileByKeyWord
+type DescribeAccountProfileByKeyWordRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+	Keyword  string `position:"Query" name:"Keyword"`
+}
+
+// DescribeAccountProfileByKeyWordResponse is the response struct for api DescribeAccountProfileByKeyWord
+type DescribeAccountProfileByKeyWordResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Ip        string `json:"Ip" xml:"Ip"`
+	IpInfo    string `json:"IpInfo" xml:"IpInfo"`
+	Phone     string `json:"Phone" xml:"Phone"`
+	PhoneInfo string `json:"PhoneInfo" xml:"PhoneInfo"`
+}
+
+// CreateDescribeAccountProfileByKeyWordRequest creates a request to invoke DescribeAccountProfileByKeyWord API
+func CreateDescribeAccountProfileByKeyWordRequest() (request *DescribeAccountProfileByKeyWordRequest) {
+	request = &DescribeAccountProfileByKeyWordRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeAccountProfileByKeyWord", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeAccountProfileByKeyWordResponse creates a response to parse from DescribeAccountProfileByKeyWord response
+func CreateDescribeAccountProfileByKeyWordResponse() (response *DescribeAccountProfileByKeyWordResponse) {
+	response = &DescribeAccountProfileByKeyWordResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sas-api/describe_hit_rate_column.go

@@ -0,0 +1,109 @@
+package sas_api
+
+//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"
+)
+
+// DescribeHitRateColumn invokes the sas_api.DescribeHitRateColumn API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratecolumn.html
+func (client *Client) DescribeHitRateColumn(request *DescribeHitRateColumnRequest) (response *DescribeHitRateColumnResponse, err error) {
+	response = CreateDescribeHitRateColumnResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeHitRateColumnWithChan invokes the sas_api.DescribeHitRateColumn API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratecolumn.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHitRateColumnWithChan(request *DescribeHitRateColumnRequest) (<-chan *DescribeHitRateColumnResponse, <-chan error) {
+	responseChan := make(chan *DescribeHitRateColumnResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeHitRateColumn(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeHitRateColumnWithCallback invokes the sas_api.DescribeHitRateColumn API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratecolumn.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHitRateColumnWithCallback(request *DescribeHitRateColumnRequest, callback func(response *DescribeHitRateColumnResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeHitRateColumnResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeHitRateColumn(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeHitRateColumnRequest is the request struct for api DescribeHitRateColumn
+type DescribeHitRateColumnRequest struct {
+	*requests.RpcRequest
+	EndDate   string           `position:"Query" name:"EndDate"`
+	SourceIp  string           `position:"Query" name:"SourceIp"`
+	HitDay    requests.Integer `position:"Query" name:"HitDay"`
+	StartDate string           `position:"Query" name:"StartDate"`
+	ApiType   requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribeHitRateColumnResponse is the response struct for api DescribeHitRateColumn
+type DescribeHitRateColumnResponse struct {
+	*responses.BaseResponse
+	RequestId string                        `json:"RequestId" xml:"RequestId"`
+	TimeScope TimeScope                     `json:"TimeScope" xml:"TimeScope"`
+	Items     []ItemInDescribeHitRateColumn `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeHitRateColumnRequest creates a request to invoke DescribeHitRateColumn API
+func CreateDescribeHitRateColumnRequest() (request *DescribeHitRateColumnRequest) {
+	request = &DescribeHitRateColumnRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeHitRateColumn", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeHitRateColumnResponse creates a response to parse from DescribeHitRateColumn response
+func CreateDescribeHitRateColumnResponse() (response *DescribeHitRateColumnResponse) {
+	response = &DescribeHitRateColumnResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas-api/describe_hit_rate_pie.go

@@ -0,0 +1,108 @@
+package sas_api
+
+//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"
+)
+
+// DescribeHitRatePie invokes the sas_api.DescribeHitRatePie API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratepie.html
+func (client *Client) DescribeHitRatePie(request *DescribeHitRatePieRequest) (response *DescribeHitRatePieResponse, err error) {
+	response = CreateDescribeHitRatePieResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeHitRatePieWithChan invokes the sas_api.DescribeHitRatePie API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratepie.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHitRatePieWithChan(request *DescribeHitRatePieRequest) (<-chan *DescribeHitRatePieResponse, <-chan error) {
+	responseChan := make(chan *DescribeHitRatePieResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeHitRatePie(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeHitRatePieWithCallback invokes the sas_api.DescribeHitRatePie API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describehitratepie.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeHitRatePieWithCallback(request *DescribeHitRatePieRequest, callback func(response *DescribeHitRatePieResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeHitRatePieResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeHitRatePie(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeHitRatePieRequest is the request struct for api DescribeHitRatePie
+type DescribeHitRatePieRequest struct {
+	*requests.RpcRequest
+	EndDate   string           `position:"Query" name:"EndDate"`
+	SourceIp  string           `position:"Query" name:"SourceIp"`
+	StartDate string           `position:"Query" name:"StartDate"`
+	HitDay    requests.Integer `position:"Query" name:"HitDay"`
+	ApiType   requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribeHitRatePieResponse is the response struct for api DescribeHitRatePie
+type DescribeHitRatePieResponse struct {
+	*responses.BaseResponse
+	RequestId string                     `json:"RequestId" xml:"RequestId"`
+	Items     []ItemInDescribeHitRatePie `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeHitRatePieRequest creates a request to invoke DescribeHitRatePie API
+func CreateDescribeHitRatePieRequest() (request *DescribeHitRatePieRequest) {
+	request = &DescribeHitRatePieRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeHitRatePie", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeHitRatePieResponse creates a response to parse from DescribeHitRatePie response
+func CreateDescribeHitRatePieResponse() (response *DescribeHitRatePieResponse) {
+	response = &DescribeHitRatePieResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/sas-api/describe_per_date_data.go

@@ -0,0 +1,105 @@
+package sas_api
+
+//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"
+)
+
+// DescribePerDateData invokes the sas_api.DescribePerDateData API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describeperdatedata.html
+func (client *Client) DescribePerDateData(request *DescribePerDateDataRequest) (response *DescribePerDateDataResponse, err error) {
+	response = CreateDescribePerDateDataResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribePerDateDataWithChan invokes the sas_api.DescribePerDateData API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeperdatedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePerDateDataWithChan(request *DescribePerDateDataRequest) (<-chan *DescribePerDateDataResponse, <-chan error) {
+	responseChan := make(chan *DescribePerDateDataResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribePerDateData(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribePerDateDataWithCallback invokes the sas_api.DescribePerDateData API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describeperdatedata.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribePerDateDataWithCallback(request *DescribePerDateDataRequest, callback func(response *DescribePerDateDataResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribePerDateDataResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribePerDateData(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribePerDateDataRequest is the request struct for api DescribePerDateData
+type DescribePerDateDataRequest struct {
+	*requests.RpcRequest
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	ApiType  requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribePerDateDataResponse is the response struct for api DescribePerDateData
+type DescribePerDateDataResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	DataView  []DataView `json:"DataView" xml:"DataView"`
+}
+
+// CreateDescribePerDateDataRequest creates a request to invoke DescribePerDateData API
+func CreateDescribePerDateDataRequest() (request *DescribePerDateDataRequest) {
+	request = &DescribePerDateDataRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribePerDateData", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribePerDateDataResponse creates a response to parse from DescribePerDateData response
+func CreateDescribePerDateDataResponse() (response *DescribePerDateDataResponse) {
+	response = &DescribePerDateDataResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sas-api/describe_threat_distribute.go

@@ -0,0 +1,109 @@
+package sas_api
+
+//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"
+)
+
+// DescribeThreatDistribute invokes the sas_api.DescribeThreatDistribute API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreatdistribute.html
+func (client *Client) DescribeThreatDistribute(request *DescribeThreatDistributeRequest) (response *DescribeThreatDistributeResponse, err error) {
+	response = CreateDescribeThreatDistributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeThreatDistributeWithChan invokes the sas_api.DescribeThreatDistribute API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreatdistribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeThreatDistributeWithChan(request *DescribeThreatDistributeRequest) (<-chan *DescribeThreatDistributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeThreatDistributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeThreatDistribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeThreatDistributeWithCallback invokes the sas_api.DescribeThreatDistribute API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreatdistribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeThreatDistributeWithCallback(request *DescribeThreatDistributeRequest, callback func(response *DescribeThreatDistributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeThreatDistributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeThreatDistribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeThreatDistributeRequest is the request struct for api DescribeThreatDistribute
+type DescribeThreatDistributeRequest struct {
+	*requests.RpcRequest
+	EndDate   string           `position:"Query" name:"EndDate"`
+	SourceIp  string           `position:"Query" name:"SourceIp"`
+	HitDay    requests.Integer `position:"Query" name:"HitDay"`
+	StartDate string           `position:"Query" name:"StartDate"`
+	ApiType   requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribeThreatDistributeResponse is the response struct for api DescribeThreatDistribute
+type DescribeThreatDistributeResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	Categories []string `json:"Categories" xml:"Categories"`
+	Items      []Item   `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeThreatDistributeRequest creates a request to invoke DescribeThreatDistribute API
+func CreateDescribeThreatDistributeRequest() (request *DescribeThreatDistributeRequest) {
+	request = &DescribeThreatDistributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeThreatDistribute", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeThreatDistributeResponse creates a response to parse from DescribeThreatDistribute response
+func CreateDescribeThreatDistributeResponse() (response *DescribeThreatDistributeResponse) {
+	response = &DescribeThreatDistributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas-api/describe_threat_type_lines.go

@@ -0,0 +1,106 @@
+package sas_api
+
+//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"
+)
+
+// DescribeThreatTypeLines invokes the sas_api.DescribeThreatTypeLines API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreattypelines.html
+func (client *Client) DescribeThreatTypeLines(request *DescribeThreatTypeLinesRequest) (response *DescribeThreatTypeLinesResponse, err error) {
+	response = CreateDescribeThreatTypeLinesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeThreatTypeLinesWithChan invokes the sas_api.DescribeThreatTypeLines API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreattypelines.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeThreatTypeLinesWithChan(request *DescribeThreatTypeLinesRequest) (<-chan *DescribeThreatTypeLinesResponse, <-chan error) {
+	responseChan := make(chan *DescribeThreatTypeLinesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeThreatTypeLines(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeThreatTypeLinesWithCallback invokes the sas_api.DescribeThreatTypeLines API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describethreattypelines.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeThreatTypeLinesWithCallback(request *DescribeThreatTypeLinesRequest, callback func(response *DescribeThreatTypeLinesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeThreatTypeLinesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeThreatTypeLines(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeThreatTypeLinesRequest is the request struct for api DescribeThreatTypeLines
+type DescribeThreatTypeLinesRequest struct {
+	*requests.RpcRequest
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	ApiType  requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribeThreatTypeLinesResponse is the response struct for api DescribeThreatTypeLines
+type DescribeThreatTypeLinesResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	Categories []string `json:"Categories" xml:"Categories"`
+	Items      []Item   `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeThreatTypeLinesRequest creates a request to invoke DescribeThreatTypeLines API
+func CreateDescribeThreatTypeLinesRequest() (request *DescribeThreatTypeLinesRequest) {
+	request = &DescribeThreatTypeLinesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeThreatTypeLines", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeThreatTypeLinesResponse creates a response to parse from DescribeThreatTypeLines response
+func CreateDescribeThreatTypeLinesResponse() (response *DescribeThreatTypeLinesResponse) {
+	response = &DescribeThreatTypeLinesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas-api/describe_total_and_rate_line.go

@@ -0,0 +1,106 @@
+package sas_api
+
+//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"
+)
+
+// DescribeTotalAndRateLine invokes the sas_api.DescribeTotalAndRateLine API synchronously
+// api document: https://help.aliyun.com/api/sas-api/describetotalandrateline.html
+func (client *Client) DescribeTotalAndRateLine(request *DescribeTotalAndRateLineRequest) (response *DescribeTotalAndRateLineResponse, err error) {
+	response = CreateDescribeTotalAndRateLineResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTotalAndRateLineWithChan invokes the sas_api.DescribeTotalAndRateLine API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describetotalandrateline.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTotalAndRateLineWithChan(request *DescribeTotalAndRateLineRequest) (<-chan *DescribeTotalAndRateLineResponse, <-chan error) {
+	responseChan := make(chan *DescribeTotalAndRateLineResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTotalAndRateLine(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTotalAndRateLineWithCallback invokes the sas_api.DescribeTotalAndRateLine API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/describetotalandrateline.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTotalAndRateLineWithCallback(request *DescribeTotalAndRateLineRequest, callback func(response *DescribeTotalAndRateLineResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTotalAndRateLineResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTotalAndRateLine(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTotalAndRateLineRequest is the request struct for api DescribeTotalAndRateLine
+type DescribeTotalAndRateLineRequest struct {
+	*requests.RpcRequest
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	ApiType  requests.Integer `position:"Query" name:"ApiType"`
+}
+
+// DescribeTotalAndRateLineResponse is the response struct for api DescribeTotalAndRateLine
+type DescribeTotalAndRateLineResponse struct {
+	*responses.BaseResponse
+	RequestId  string   `json:"RequestId" xml:"RequestId"`
+	Categories []string `json:"Categories" xml:"Categories"`
+	Items      []Item   `json:"Items" xml:"Items"`
+}
+
+// CreateDescribeTotalAndRateLineRequest creates a request to invoke DescribeTotalAndRateLine API
+func CreateDescribeTotalAndRateLineRequest() (request *DescribeTotalAndRateLineRequest) {
+	request = &DescribeTotalAndRateLineRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "DescribeTotalAndRateLine", "sas-api", "openAPI")
+	return
+}
+
+// CreateDescribeTotalAndRateLineResponse creates a response to parse from DescribeTotalAndRateLine response
+func CreateDescribeTotalAndRateLineResponse() (response *DescribeTotalAndRateLineResponse) {
+	response = &DescribeTotalAndRateLineResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/sas-api/get_account_profile.go

@@ -0,0 +1,118 @@
+package sas_api
+
+//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"
+)
+
+// GetAccountProfile invokes the sas_api.GetAccountProfile API synchronously
+// api document: https://help.aliyun.com/api/sas-api/getaccountprofile.html
+func (client *Client) GetAccountProfile(request *GetAccountProfileRequest) (response *GetAccountProfileResponse, err error) {
+	response = CreateGetAccountProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetAccountProfileWithChan invokes the sas_api.GetAccountProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getaccountprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAccountProfileWithChan(request *GetAccountProfileRequest) (<-chan *GetAccountProfileResponse, <-chan error) {
+	responseChan := make(chan *GetAccountProfileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAccountProfile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetAccountProfileWithCallback invokes the sas_api.GetAccountProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getaccountprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetAccountProfileWithCallback(request *GetAccountProfileRequest, callback func(response *GetAccountProfileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAccountProfileResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAccountProfile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetAccountProfileRequest is the request struct for api GetAccountProfile
+type GetAccountProfileRequest struct {
+	*requests.RpcRequest
+	DeviceIdMd5     string           `position:"Query" name:"DeviceIdMd5"`
+	Carrier         requests.Integer `position:"Query" name:"Carrier"`
+	Os              string           `position:"Query" name:"Os"`
+	Phone           string           `position:"Query" name:"Phone"`
+	RequestUrl      string           `position:"Query" name:"RequestUrl"`
+	Ip              string           `position:"Query" name:"Ip"`
+	UserAgent       string           `position:"Query" name:"UserAgent"`
+	ConnectionType  requests.Integer `position:"Query" name:"ConnectionType"`
+	SensType        requests.Integer `position:"Query" name:"SensType"`
+	DeviceType      requests.Integer `position:"Query" name:"DeviceType"`
+	AccessTimestamp requests.Integer `position:"Query" name:"AccessTimestamp"`
+	BusinessType    requests.Integer `position:"Query" name:"BusinessType"`
+}
+
+// GetAccountProfileResponse is the response struct for api GetAccountProfile
+type GetAccountProfileResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetAccountProfileRequest creates a request to invoke GetAccountProfile API
+func CreateGetAccountProfileRequest() (request *GetAccountProfileRequest) {
+	request = &GetAccountProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "GetAccountProfile", "sas-api", "openAPI")
+	return
+}
+
+// CreateGetAccountProfileResponse creates a response to parse from GetAccountProfile response
+func CreateGetAccountProfileResponse() (response *GetAccountProfileResponse) {
+	response = &GetAccountProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/sas-api/get_instance_count.go

@@ -0,0 +1,107 @@
+package sas_api
+
+//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"
+)
+
+// GetInstanceCount invokes the sas_api.GetInstanceCount API synchronously
+// api document: https://help.aliyun.com/api/sas-api/getinstancecount.html
+func (client *Client) GetInstanceCount(request *GetInstanceCountRequest) (response *GetInstanceCountResponse, err error) {
+	response = CreateGetInstanceCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetInstanceCountWithChan invokes the sas_api.GetInstanceCount API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getinstancecount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceCountWithChan(request *GetInstanceCountRequest) (<-chan *GetInstanceCountResponse, <-chan error) {
+	responseChan := make(chan *GetInstanceCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetInstanceCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetInstanceCountWithCallback invokes the sas_api.GetInstanceCount API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getinstancecount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetInstanceCountWithCallback(request *GetInstanceCountRequest, callback func(response *GetInstanceCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetInstanceCountResponse
+		var err error
+		defer close(result)
+		response, err = client.GetInstanceCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetInstanceCountRequest is the request struct for api GetInstanceCount
+type GetInstanceCountRequest struct {
+	*requests.RpcRequest
+	OwnerId requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+// GetInstanceCountResponse is the response struct for api GetInstanceCount
+type GetInstanceCountResponse struct {
+	*responses.BaseResponse
+	Code      string `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      int    `json:"Data" xml:"Data"`
+}
+
+// CreateGetInstanceCountRequest creates a request to invoke GetInstanceCount API
+func CreateGetInstanceCountRequest() (request *GetInstanceCountRequest) {
+	request = &GetInstanceCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "GetInstanceCount", "sas-api", "openAPI")
+	return
+}
+
+// CreateGetInstanceCountResponse creates a response to parse from GetInstanceCount response
+func CreateGetInstanceCountResponse() (response *GetInstanceCountResponse) {
+	response = &GetInstanceCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/sas-api/get_ip_profile.go

@@ -0,0 +1,116 @@
+package sas_api
+
+//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"
+)
+
+// GetIpProfile invokes the sas_api.GetIpProfile API synchronously
+// api document: https://help.aliyun.com/api/sas-api/getipprofile.html
+func (client *Client) GetIpProfile(request *GetIpProfileRequest) (response *GetIpProfileResponse, err error) {
+	response = CreateGetIpProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetIpProfileWithChan invokes the sas_api.GetIpProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getipprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetIpProfileWithChan(request *GetIpProfileRequest) (<-chan *GetIpProfileResponse, <-chan error) {
+	responseChan := make(chan *GetIpProfileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetIpProfile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetIpProfileWithCallback invokes the sas_api.GetIpProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getipprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetIpProfileWithCallback(request *GetIpProfileRequest, callback func(response *GetIpProfileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetIpProfileResponse
+		var err error
+		defer close(result)
+		response, err = client.GetIpProfile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetIpProfileRequest is the request struct for api GetIpProfile
+type GetIpProfileRequest struct {
+	*requests.RpcRequest
+	DeviceIdMd5    string           `position:"Query" name:"DeviceIdMd5"`
+	Carrier        requests.Integer `position:"Query" name:"Carrier"`
+	Os             string           `position:"Query" name:"Os"`
+	RequestUrl     string           `position:"Query" name:"RequestUrl"`
+	Ip             string           `position:"Query" name:"Ip"`
+	UserAgent      string           `position:"Query" name:"UserAgent"`
+	ConnectionType requests.Integer `position:"Query" name:"ConnectionType"`
+	SensType       requests.Integer `position:"Query" name:"SensType"`
+	DeviceType     requests.Integer `position:"Query" name:"DeviceType"`
+	BusinessType   requests.Integer `position:"Query" name:"BusinessType"`
+}
+
+// GetIpProfileResponse is the response struct for api GetIpProfile
+type GetIpProfileResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetIpProfileRequest creates a request to invoke GetIpProfile API
+func CreateGetIpProfileRequest() (request *GetIpProfileRequest) {
+	request = &GetIpProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "GetIpProfile", "sas-api", "openAPI")
+	return
+}
+
+// CreateGetIpProfileResponse creates a response to parse from GetIpProfile response
+func CreateGetIpProfileResponse() (response *GetIpProfileResponse) {
+	response = &GetIpProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/sas-api/get_phone_profile.go

@@ -0,0 +1,110 @@
+package sas_api
+
+//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"
+)
+
+// GetPhoneProfile invokes the sas_api.GetPhoneProfile API synchronously
+// api document: https://help.aliyun.com/api/sas-api/getphoneprofile.html
+func (client *Client) GetPhoneProfile(request *GetPhoneProfileRequest) (response *GetPhoneProfileResponse, err error) {
+	response = CreateGetPhoneProfileResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetPhoneProfileWithChan invokes the sas_api.GetPhoneProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getphoneprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPhoneProfileWithChan(request *GetPhoneProfileRequest) (<-chan *GetPhoneProfileResponse, <-chan error) {
+	responseChan := make(chan *GetPhoneProfileResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetPhoneProfile(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetPhoneProfileWithCallback invokes the sas_api.GetPhoneProfile API asynchronously
+// api document: https://help.aliyun.com/api/sas-api/getphoneprofile.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetPhoneProfileWithCallback(request *GetPhoneProfileRequest, callback func(response *GetPhoneProfileResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetPhoneProfileResponse
+		var err error
+		defer close(result)
+		response, err = client.GetPhoneProfile(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetPhoneProfileRequest is the request struct for api GetPhoneProfile
+type GetPhoneProfileRequest struct {
+	*requests.RpcRequest
+	Phone        string           `position:"Query" name:"Phone"`
+	SensType     requests.Integer `position:"Query" name:"SensType"`
+	DataVersion  string           `position:"Query" name:"DataVersion"`
+	BusinessType requests.Integer `position:"Query" name:"BusinessType"`
+}
+
+// GetPhoneProfileResponse is the response struct for api GetPhoneProfile
+type GetPhoneProfileResponse struct {
+	*responses.BaseResponse
+	Code      int    `json:"Code" xml:"Code"`
+	Message   string `json:"Message" xml:"Message"`
+	Success   bool   `json:"Success" xml:"Success"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateGetPhoneProfileRequest creates a request to invoke GetPhoneProfile API
+func CreateGetPhoneProfileRequest() (request *GetPhoneProfileRequest) {
+	request = &GetPhoneProfileRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas-api", "2017-07-05", "GetPhoneProfile", "sas-api", "openAPI")
+	return
+}
+
+// CreateGetPhoneProfileResponse creates a response to parse from GetPhoneProfile response
+func CreateGetPhoneProfileResponse() (response *GetPhoneProfileResponse) {
+	response = &GetPhoneProfileResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/sas-api/struct_categories_in_describe_threat_distribute.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// CategoriesInDescribeThreatDistribute is a nested struct in sas_api response
+type CategoriesInDescribeThreatDistribute struct {
+	CategoriesItem []string `json:"CategoriesItem" xml:"CategoriesItem"`
+}

+ 21 - 0
services/sas-api/struct_categories_in_describe_threat_type_lines.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// CategoriesInDescribeThreatTypeLines is a nested struct in sas_api response
+type CategoriesInDescribeThreatTypeLines struct {
+	CategoriesItem []string `json:"CategoriesItem" xml:"CategoriesItem"`
+}

+ 21 - 0
services/sas-api/struct_categories_in_describe_total_and_rate_line.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// CategoriesInDescribeTotalAndRateLine is a nested struct in sas_api response
+type CategoriesInDescribeTotalAndRateLine struct {
+	CategoriesItem []string `json:"CategoriesItem" xml:"CategoriesItem"`
+}

+ 25 - 0
services/sas-api/struct_data.go

@@ -0,0 +1,25 @@
+package sas_api
+
+//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.
+
+// Data is a nested struct in sas_api response
+type Data struct {
+	IpInfo    string `json:"IpInfo" xml:"IpInfo"`
+	Info      string `json:"Info" xml:"Info"`
+	Ip        string `json:"Ip" xml:"Ip"`
+	Phone     string `json:"Phone" xml:"Phone"`
+	PhoneInfo string `json:"PhoneInfo" xml:"PhoneInfo"`
+}

+ 51 - 0
services/sas-api/struct_data_view.go

@@ -0,0 +1,51 @@
+package sas_api
+
+//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.
+
+// DataView is a nested struct in sas_api response
+type DataView struct {
+	IsNetAttack30d      int    `json:"IsNetAttack30d" xml:"IsNetAttack30d"`
+	IsNetAttack7d       int    `json:"IsNetAttack7d" xml:"IsNetAttack7d"`
+	IsCheatFlow1d       int    `json:"IsCheatFlow1d" xml:"IsCheatFlow1d"`
+	IsProxy1d           int    `json:"IsProxy1d" xml:"IsProxy1d"`
+	IsBotnet1d          int    `json:"IsBotnet1d" xml:"IsBotnet1d"`
+	IsBlackCampaign1d   int    `json:"IsBlackCampaign1d" xml:"IsBlackCampaign1d"`
+	IsOpenCommonPort1d  int    `json:"IsOpenCommonPort1d" xml:"IsOpenCommonPort1d"`
+	IsC21d              int    `json:"IsC21d" xml:"IsC21d"`
+	IsC230d             int    `json:"IsC230d" xml:"IsC230d"`
+	IsOpenCommonPort30d int    `json:"IsOpenCommonPort30d" xml:"IsOpenCommonPort30d"`
+	IsHiJack7d          int    `json:"IsHiJack7d" xml:"IsHiJack7d"`
+	CallTimes           int    `json:"CallTimes" xml:"CallTimes"`
+	DataTime            string `json:"DataTime" xml:"DataTime"`
+	IsNetAttack1d       int    `json:"IsNetAttack1d" xml:"IsNetAttack1d"`
+	IsBlackCampaign30d  int    `json:"IsBlackCampaign30d" xml:"IsBlackCampaign30d"`
+	TotalHit            int    `json:"TotalHit" xml:"TotalHit"`
+	IsCheatFlow30d      int    `json:"IsCheatFlow30d" xml:"IsCheatFlow30d"`
+	IsCheatFlow7d       int    `json:"IsCheatFlow7d" xml:"IsCheatFlow7d"`
+	IsProxy7d           int    `json:"IsProxy7d" xml:"IsProxy7d"`
+	IsBotnet7d          int    `json:"IsBotnet7d" xml:"IsBotnet7d"`
+	IsBlackCampaign7d   int    `json:"IsBlackCampaign7d" xml:"IsBlackCampaign7d"`
+	IsProxy30d          int    `json:"IsProxy30d" xml:"IsProxy30d"`
+	IsBotnet30d         int    `json:"IsBotnet30d" xml:"IsBotnet30d"`
+	IsOpenCommonPort7d  int    `json:"IsOpenCommonPort7d" xml:"IsOpenCommonPort7d"`
+	HitRate             int    `json:"HitRate" xml:"HitRate"`
+	IsGreyPhone         int    `json:"IsGreyPhone" xml:"IsGreyPhone"`
+	IsC27d              int    `json:"IsC27d" xml:"IsC27d"`
+	IsHiJack1d          int    `json:"IsHiJack1d" xml:"IsHiJack1d"`
+	IsVirtualOperator   int    `json:"IsVirtualOperator" xml:"IsVirtualOperator"`
+	IsBlackPhone        int    `json:"IsBlackPhone" xml:"IsBlackPhone"`
+	IsHiJack30d         int    `json:"IsHiJack30d" xml:"IsHiJack30d"`
+}

+ 21 - 0
services/sas-api/struct_data_view_in_describe_per_date_data.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// DataViewInDescribePerDateData is a nested struct in sas_api response
+type DataViewInDescribePerDateData struct {
+	DataView []DataView `json:"dataView" xml:"dataView"`
+}

+ 23 - 0
services/sas-api/struct_item.go

@@ -0,0 +1,23 @@
+package sas_api
+
+//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.
+
+// Item is a nested struct in sas_api response
+type Item struct {
+	Name string  `json:"Name" xml:"Name"`
+	Id   string  `json:"Id" xml:"Id"`
+	Data float64 `json:"Data" xml:"Data"`
+}

+ 23 - 0
services/sas-api/struct_item_in_describe_hit_rate_column.go

@@ -0,0 +1,23 @@
+package sas_api
+
+//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.
+
+// ItemInDescribeHitRateColumn is a nested struct in sas_api response
+type ItemInDescribeHitRateColumn struct {
+	Data int    `json:"Data" xml:"Data"`
+	Id   string `json:"Id" xml:"Id"`
+	Name string `json:"Name" xml:"Name"`
+}

+ 22 - 0
services/sas-api/struct_item_in_describe_hit_rate_pie.go

@@ -0,0 +1,22 @@
+package sas_api
+
+//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.
+
+// ItemInDescribeHitRatePie is a nested struct in sas_api response
+type ItemInDescribeHitRatePie struct {
+	Data int    `json:"Data" xml:"Data"`
+	Name string `json:"Name" xml:"Name"`
+}

+ 21 - 0
services/sas-api/struct_items_in_describe_hit_rate_column.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// ItemsInDescribeHitRateColumn is a nested struct in sas_api response
+type ItemsInDescribeHitRateColumn struct {
+	Item []ItemInDescribeHitRateColumn `json:"Item" xml:"Item"`
+}

+ 21 - 0
services/sas-api/struct_items_in_describe_hit_rate_pie.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// ItemsInDescribeHitRatePie is a nested struct in sas_api response
+type ItemsInDescribeHitRatePie struct {
+	Item []ItemInDescribeHitRatePie `json:"Item" xml:"Item"`
+}

+ 21 - 0
services/sas-api/struct_items_in_describe_threat_distribute.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// ItemsInDescribeThreatDistribute is a nested struct in sas_api response
+type ItemsInDescribeThreatDistribute struct {
+	Item []Item `json:"Item" xml:"Item"`
+}

+ 21 - 0
services/sas-api/struct_items_in_describe_threat_type_lines.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// ItemsInDescribeThreatTypeLines is a nested struct in sas_api response
+type ItemsInDescribeThreatTypeLines struct {
+	Item []Item `json:"Item" xml:"Item"`
+}

+ 21 - 0
services/sas-api/struct_items_in_describe_total_and_rate_line.go

@@ -0,0 +1,21 @@
+package sas_api
+
+//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.
+
+// ItemsInDescribeTotalAndRateLine is a nested struct in sas_api response
+type ItemsInDescribeTotalAndRateLine struct {
+	Item []Item `json:"Item" xml:"Item"`
+}

+ 22 - 0
services/sas-api/struct_time_scope.go

@@ -0,0 +1,22 @@
+package sas_api
+
+//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.
+
+// TimeScope is a nested struct in sas_api response
+type TimeScope struct {
+	Interval int `json:"Interval" xml:"Interval"`
+	Start    int `json:"Start" xml:"Start"`
+}