Explorar o código

SAS SDK Auto Released By lai.zhoulai,Version:1.53.86

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao %!s(int64=6) %!d(string=hai) anos
pai
achega
1676ea1e36
Modificáronse 73 ficheiros con 4027 adicións e 0 borrados
  1. 6 0
      ChangeLog.txt
  2. 81 0
      services/sas/client.go
  3. 107 0
      services/sas/describe_alarm_event_detail.go
  4. 114 0
      services/sas/describe_alarm_event_list.go
  5. 104 0
      services/sas/describe_auto_del_config.go
  6. 105 0
      services/sas/describe_concern_necessity.go
  7. 106 0
      services/sas/describe_emg_vul_group.go
  8. 115 0
      services/sas/describe_grouped_vul.go
  9. 116 0
      services/sas/describe_risk_check_result.go
  10. 106 0
      services/sas/describe_risk_check_summary.go
  11. 106 0
      services/sas/describe_risk_item_type.go
  12. 106 0
      services/sas/describe_security_check_schedule_config.go
  13. 124 0
      services/sas/describe_susp_event_detail.go
  14. 118 0
      services/sas/describe_susp_events.go
  15. 106 0
      services/sas/describe_user_baseline_authorization.go
  16. 108 0
      services/sas/describe_vul_details.go
  17. 116 0
      services/sas/describe_vul_list.go
  18. 109 0
      services/sas/describe_vul_whitelist.go
  19. 104 0
      services/sas/modify_auto_del_config.go
  20. 105 0
      services/sas/modify_concern_necessity.go
  21. 105 0
      services/sas/modify_create_vul_whitelist.go
  22. 104 0
      services/sas/modify_delete_vul_whitelist.go
  23. 106 0
      services/sas/modify_emg_vul_submit.go
  24. 107 0
      services/sas/modify_operate_vul.go
  25. 108 0
      services/sas/modify_risk_check_status.go
  26. 108 0
      services/sas/modify_risk_single_result_status.go
  27. 108 0
      services/sas/modify_security_check_schedule_config.go
  28. 108 0
      services/sas/start_baseline_security_check.go
  29. 22 0
      services/sas/struct_cause_detail.go
  30. 21 0
      services/sas/struct_cause_details.go
  31. 23 0
      services/sas/struct_classify.go
  32. 21 0
      services/sas/struct_classifys.go
  33. 21 0
      services/sas/struct_concern_necessity.go
  34. 21 0
      services/sas/struct_count_by_status.go
  35. 39 0
      services/sas/struct_cve.go
  36. 21 0
      services/sas/struct_cve_list.go
  37. 21 0
      services/sas/struct_cves.go
  38. 36 0
      services/sas/struct_data.go
  39. 21 0
      services/sas/struct_details.go
  40. 26 0
      services/sas/struct_emg_vul_group.go
  41. 21 0
      services/sas/struct_emg_vul_group_list.go
  42. 31 0
      services/sas/struct_extend_content_json.go
  43. 26 0
      services/sas/struct_group.go
  44. 28 0
      services/sas/struct_grouped_vul_item.go
  45. 21 0
      services/sas/struct_grouped_vul_items.go
  46. 21 0
      services/sas/struct_groups.go
  47. 22 0
      services/sas/struct_item_type.go
  48. 22 0
      services/sas/struct_level_count.go
  49. 21 0
      services/sas/struct_list_in_describe_risk_check_result.go
  50. 21 0
      services/sas/struct_list_in_describe_risk_item_type.go
  51. 28 0
      services/sas/struct_necessity.go
  52. 24 0
      services/sas/struct_page_info.go
  53. 24 0
      services/sas/struct_quara_file.go
  54. 23 0
      services/sas/struct_risk_check_job_config.go
  55. 31 0
      services/sas/struct_risk_check_result_for_display.go
  56. 28 0
      services/sas/struct_risk_check_summary.go
  57. 22 0
      services/sas/struct_risk_item_resource.go
  58. 21 0
      services/sas/struct_risk_item_resources.go
  59. 21 0
      services/sas/struct_risk_level_count.go
  60. 21 0
      services/sas/struct_rpm_entity_list.go
  61. 26 0
      services/sas/struct_rpm_entity_list_item.go
  62. 22 0
      services/sas/struct_status_count.go
  63. 21 0
      services/sas/struct_susp_events_in_describe_alarm_event_list.go
  64. 21 0
      services/sas/struct_susp_events_in_describe_susp_events.go
  65. 37 0
      services/sas/struct_susp_events_item.go
  66. 21 0
      services/sas/struct_user_baseline_authorization.go
  67. 21 0
      services/sas/struct_value.go
  68. 23 0
      services/sas/struct_value_item.go
  69. 44 0
      services/sas/struct_vul_record.go
  70. 21 0
      services/sas/struct_vul_records.go
  71. 24 0
      services/sas/struct_vul_whitelist.go
  72. 21 0
      services/sas/struct_vul_whitelists.go
  73. 39 0
      services/sas/struct_warning_summary.go

+ 6 - 0
ChangeLog.txt

@@ -1,3 +1,9 @@
+2019-04-03 Version: 1.53.86
+1, Add interfaces related to vulnerability whitelist
+2, Add interfaces related to vulnerability auto-del configuration
+3, Add interfaces related to vulnerability fix advise
+4, Add interfaces searching and operating vulnerability
+
 2019-03-29 Version: 1.53.85
 1, fix MNS Query params
 

+ 81 - 0
services/sas/client.go

@@ -0,0 +1,81 @@
+package sas
+
+//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
+}

+ 107 - 0
services/sas/describe_alarm_event_detail.go

@@ -0,0 +1,107 @@
+package sas
+
+//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"
+)
+
+// DescribeAlarmEventDetail invokes the sas.DescribeAlarmEventDetail API synchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventdetail.html
+func (client *Client) DescribeAlarmEventDetail(request *DescribeAlarmEventDetailRequest) (response *DescribeAlarmEventDetailResponse, err error) {
+	response = CreateDescribeAlarmEventDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAlarmEventDetailWithChan invokes the sas.DescribeAlarmEventDetail API asynchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmEventDetailWithChan(request *DescribeAlarmEventDetailRequest) (<-chan *DescribeAlarmEventDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeAlarmEventDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAlarmEventDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAlarmEventDetailWithCallback invokes the sas.DescribeAlarmEventDetail API asynchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmEventDetailWithCallback(request *DescribeAlarmEventDetailRequest, callback func(response *DescribeAlarmEventDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAlarmEventDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAlarmEventDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAlarmEventDetailRequest is the request struct for api DescribeAlarmEventDetail
+type DescribeAlarmEventDetailRequest struct {
+	*requests.RpcRequest
+	AlarmUniqueInfo string `position:"Query" name:"AlarmUniqueInfo"`
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	From            string `position:"Query" name:"From"`
+	Lang            string `position:"Query" name:"Lang"`
+}
+
+// DescribeAlarmEventDetailResponse is the response struct for api DescribeAlarmEventDetail
+type DescribeAlarmEventDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeAlarmEventDetailRequest creates a request to invoke DescribeAlarmEventDetail API
+func CreateDescribeAlarmEventDetailRequest() (request *DescribeAlarmEventDetailRequest) {
+	request = &DescribeAlarmEventDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeAlarmEventDetail", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeAlarmEventDetailResponse creates a response to parse from DescribeAlarmEventDetail response
+func CreateDescribeAlarmEventDetailResponse() (response *DescribeAlarmEventDetailResponse) {
+	response = &DescribeAlarmEventDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/sas/describe_alarm_event_list.go

@@ -0,0 +1,114 @@
+package sas
+
+//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"
+)
+
+// DescribeAlarmEventList invokes the sas.DescribeAlarmEventList API synchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventlist.html
+func (client *Client) DescribeAlarmEventList(request *DescribeAlarmEventListRequest) (response *DescribeAlarmEventListResponse, err error) {
+	response = CreateDescribeAlarmEventListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAlarmEventListWithChan invokes the sas.DescribeAlarmEventList API asynchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmEventListWithChan(request *DescribeAlarmEventListRequest) (<-chan *DescribeAlarmEventListResponse, <-chan error) {
+	responseChan := make(chan *DescribeAlarmEventListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAlarmEventList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAlarmEventListWithCallback invokes the sas.DescribeAlarmEventList API asynchronously
+// api document: https://help.aliyun.com/api/sas/describealarmeventlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAlarmEventListWithCallback(request *DescribeAlarmEventListRequest, callback func(response *DescribeAlarmEventListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAlarmEventListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAlarmEventList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAlarmEventListRequest is the request struct for api DescribeAlarmEventList
+type DescribeAlarmEventListRequest struct {
+	*requests.RpcRequest
+	AlarmEventName string           `position:"Query" name:"AlarmEventName"`
+	SourceIp       string           `position:"Query" name:"SourceIp"`
+	PageSize       string           `position:"Query" name:"PageSize"`
+	AlarmEventType string           `position:"Query" name:"AlarmEventType"`
+	Dealed         string           `position:"Query" name:"Dealed"`
+	From           string           `position:"Query" name:"From"`
+	Remark         string           `position:"Query" name:"Remark"`
+	CurrentPage    requests.Integer `position:"Query" name:"CurrentPage"`
+	Lang           string           `position:"Query" name:"Lang"`
+	Levels         string           `position:"Query" name:"Levels"`
+}
+
+// DescribeAlarmEventListResponse is the response struct for api DescribeAlarmEventList
+type DescribeAlarmEventListResponse struct {
+	*responses.BaseResponse
+	RequestId  string           `json:"RequestId" xml:"RequestId"`
+	PageInfo   PageInfo         `json:"PageInfo" xml:"PageInfo"`
+	SuspEvents []SuspEventsItem `json:"SuspEvents" xml:"SuspEvents"`
+}
+
+// CreateDescribeAlarmEventListRequest creates a request to invoke DescribeAlarmEventList API
+func CreateDescribeAlarmEventListRequest() (request *DescribeAlarmEventListRequest) {
+	request = &DescribeAlarmEventListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeAlarmEventList", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeAlarmEventListResponse creates a response to parse from DescribeAlarmEventList response
+func CreateDescribeAlarmEventListResponse() (response *DescribeAlarmEventListResponse) {
+	response = &DescribeAlarmEventListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/sas/describe_auto_del_config.go

@@ -0,0 +1,104 @@
+package sas
+
+//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"
+)
+
+// DescribeAutoDelConfig invokes the sas.DescribeAutoDelConfig API synchronously
+// api document: https://help.aliyun.com/api/sas/describeautodelconfig.html
+func (client *Client) DescribeAutoDelConfig(request *DescribeAutoDelConfigRequest) (response *DescribeAutoDelConfigResponse, err error) {
+	response = CreateDescribeAutoDelConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAutoDelConfigWithChan invokes the sas.DescribeAutoDelConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeautodelconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAutoDelConfigWithChan(request *DescribeAutoDelConfigRequest) (<-chan *DescribeAutoDelConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeAutoDelConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAutoDelConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAutoDelConfigWithCallback invokes the sas.DescribeAutoDelConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeautodelconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAutoDelConfigWithCallback(request *DescribeAutoDelConfigRequest, callback func(response *DescribeAutoDelConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAutoDelConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAutoDelConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAutoDelConfigRequest is the request struct for api DescribeAutoDelConfig
+type DescribeAutoDelConfigRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+}
+
+// DescribeAutoDelConfigResponse is the response struct for api DescribeAutoDelConfig
+type DescribeAutoDelConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Days      int    `json:"Days" xml:"Days"`
+}
+
+// CreateDescribeAutoDelConfigRequest creates a request to invoke DescribeAutoDelConfig API
+func CreateDescribeAutoDelConfigRequest() (request *DescribeAutoDelConfigRequest) {
+	request = &DescribeAutoDelConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeAutoDelConfig", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeAutoDelConfigResponse creates a response to parse from DescribeAutoDelConfig response
+func CreateDescribeAutoDelConfigResponse() (response *DescribeAutoDelConfigResponse) {
+	response = &DescribeAutoDelConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/sas/describe_concern_necessity.go

@@ -0,0 +1,105 @@
+package sas
+
+//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"
+)
+
+// DescribeConcernNecessity invokes the sas.DescribeConcernNecessity API synchronously
+// api document: https://help.aliyun.com/api/sas/describeconcernnecessity.html
+func (client *Client) DescribeConcernNecessity(request *DescribeConcernNecessityRequest) (response *DescribeConcernNecessityResponse, err error) {
+	response = CreateDescribeConcernNecessityResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeConcernNecessityWithChan invokes the sas.DescribeConcernNecessity API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeconcernnecessity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConcernNecessityWithChan(request *DescribeConcernNecessityRequest) (<-chan *DescribeConcernNecessityResponse, <-chan error) {
+	responseChan := make(chan *DescribeConcernNecessityResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeConcernNecessity(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeConcernNecessityWithCallback invokes the sas.DescribeConcernNecessity API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeconcernnecessity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeConcernNecessityWithCallback(request *DescribeConcernNecessityRequest, callback func(response *DescribeConcernNecessityResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeConcernNecessityResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeConcernNecessity(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeConcernNecessityRequest is the request struct for api DescribeConcernNecessity
+type DescribeConcernNecessityRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+	Lang     string `position:"Query" name:"Lang"`
+}
+
+// DescribeConcernNecessityResponse is the response struct for api DescribeConcernNecessity
+type DescribeConcernNecessityResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	ConcernNecessity []string `json:"ConcernNecessity" xml:"ConcernNecessity"`
+}
+
+// CreateDescribeConcernNecessityRequest creates a request to invoke DescribeConcernNecessity API
+func CreateDescribeConcernNecessityRequest() (request *DescribeConcernNecessityRequest) {
+	request = &DescribeConcernNecessityRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeConcernNecessity", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeConcernNecessityResponse creates a response to parse from DescribeConcernNecessity response
+func CreateDescribeConcernNecessityResponse() (response *DescribeConcernNecessityResponse) {
+	response = &DescribeConcernNecessityResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/describe_emg_vul_group.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// DescribeEmgVulGroup invokes the sas.DescribeEmgVulGroup API synchronously
+// api document: https://help.aliyun.com/api/sas/describeemgvulgroup.html
+func (client *Client) DescribeEmgVulGroup(request *DescribeEmgVulGroupRequest) (response *DescribeEmgVulGroupResponse, err error) {
+	response = CreateDescribeEmgVulGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeEmgVulGroupWithChan invokes the sas.DescribeEmgVulGroup API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeemgvulgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEmgVulGroupWithChan(request *DescribeEmgVulGroupRequest) (<-chan *DescribeEmgVulGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribeEmgVulGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeEmgVulGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeEmgVulGroupWithCallback invokes the sas.DescribeEmgVulGroup API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeemgvulgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEmgVulGroupWithCallback(request *DescribeEmgVulGroupRequest, callback func(response *DescribeEmgVulGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeEmgVulGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeEmgVulGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeEmgVulGroupRequest is the request struct for api DescribeEmgVulGroup
+type DescribeEmgVulGroupRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+	Lang     string `position:"Query" name:"Lang"`
+}
+
+// DescribeEmgVulGroupResponse is the response struct for api DescribeEmgVulGroup
+type DescribeEmgVulGroupResponse struct {
+	*responses.BaseResponse
+	RequestId       string        `json:"RequestId" xml:"RequestId"`
+	TotalCount      int           `json:"TotalCount" xml:"TotalCount"`
+	EmgVulGroupList []EmgVulGroup `json:"EmgVulGroupList" xml:"EmgVulGroupList"`
+}
+
+// CreateDescribeEmgVulGroupRequest creates a request to invoke DescribeEmgVulGroup API
+func CreateDescribeEmgVulGroupRequest() (request *DescribeEmgVulGroupRequest) {
+	request = &DescribeEmgVulGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeEmgVulGroup", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeEmgVulGroupResponse creates a response to parse from DescribeEmgVulGroup response
+func CreateDescribeEmgVulGroupResponse() (response *DescribeEmgVulGroupResponse) {
+	response = &DescribeEmgVulGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/sas/describe_grouped_vul.go

@@ -0,0 +1,115 @@
+package sas
+
+//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"
+)
+
+// DescribeGroupedVul invokes the sas.DescribeGroupedVul API synchronously
+// api document: https://help.aliyun.com/api/sas/describegroupedvul.html
+func (client *Client) DescribeGroupedVul(request *DescribeGroupedVulRequest) (response *DescribeGroupedVulResponse, err error) {
+	response = CreateDescribeGroupedVulResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGroupedVulWithChan invokes the sas.DescribeGroupedVul API asynchronously
+// api document: https://help.aliyun.com/api/sas/describegroupedvul.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGroupedVulWithChan(request *DescribeGroupedVulRequest) (<-chan *DescribeGroupedVulResponse, <-chan error) {
+	responseChan := make(chan *DescribeGroupedVulResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGroupedVul(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGroupedVulWithCallback invokes the sas.DescribeGroupedVul API asynchronously
+// api document: https://help.aliyun.com/api/sas/describegroupedvul.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGroupedVulWithCallback(request *DescribeGroupedVulRequest, callback func(response *DescribeGroupedVulResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGroupedVulResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGroupedVul(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGroupedVulRequest is the request struct for api DescribeGroupedVul
+type DescribeGroupedVulRequest struct {
+	*requests.RpcRequest
+	AliasName   string           `position:"Query" name:"AliasName"`
+	SourceIp    string           `position:"Query" name:"SourceIp"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	Dealed      string           `position:"Query" name:"Dealed"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	Lang        string           `position:"Query" name:"Lang"`
+	Type        string           `position:"Query" name:"Type"`
+	Necessity   string           `position:"Query" name:"Necessity"`
+	Uuids       string           `position:"Query" name:"Uuids"`
+}
+
+// DescribeGroupedVulResponse is the response struct for api DescribeGroupedVul
+type DescribeGroupedVulResponse struct {
+	*responses.BaseResponse
+	RequestId       string           `json:"RequestId" xml:"RequestId"`
+	PageSize        int              `json:"PageSize" xml:"PageSize"`
+	CurrentPage     int              `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount      int              `json:"TotalCount" xml:"TotalCount"`
+	GroupedVulItems []GroupedVulItem `json:"GroupedVulItems" xml:"GroupedVulItems"`
+}
+
+// CreateDescribeGroupedVulRequest creates a request to invoke DescribeGroupedVul API
+func CreateDescribeGroupedVulRequest() (request *DescribeGroupedVulRequest) {
+	request = &DescribeGroupedVulRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeGroupedVul", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeGroupedVulResponse creates a response to parse from DescribeGroupedVul response
+func CreateDescribeGroupedVulResponse() (response *DescribeGroupedVulResponse) {
+	response = &DescribeGroupedVulResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/sas/describe_risk_check_result.go

@@ -0,0 +1,116 @@
+package sas
+
+//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"
+)
+
+// DescribeRiskCheckResult invokes the sas.DescribeRiskCheckResult API synchronously
+// api document: https://help.aliyun.com/api/sas/describeriskcheckresult.html
+func (client *Client) DescribeRiskCheckResult(request *DescribeRiskCheckResultRequest) (response *DescribeRiskCheckResultResponse, err error) {
+	response = CreateDescribeRiskCheckResultResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRiskCheckResultWithChan invokes the sas.DescribeRiskCheckResult API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskcheckresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskCheckResultWithChan(request *DescribeRiskCheckResultRequest) (<-chan *DescribeRiskCheckResultResponse, <-chan error) {
+	responseChan := make(chan *DescribeRiskCheckResultResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRiskCheckResult(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRiskCheckResultWithCallback invokes the sas.DescribeRiskCheckResult API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskcheckresult.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskCheckResultWithCallback(request *DescribeRiskCheckResultRequest, callback func(response *DescribeRiskCheckResultResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRiskCheckResultResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRiskCheckResult(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRiskCheckResultRequest is the request struct for api DescribeRiskCheckResult
+type DescribeRiskCheckResultRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	GroupId         requests.Integer `position:"Query" name:"GroupId"`
+	Name            string           `position:"Query" name:"Name"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	Lang            string           `position:"Query" name:"Lang"`
+	RiskLevel       string           `position:"Query" name:"RiskLevel"`
+}
+
+// DescribeRiskCheckResultResponse is the response struct for api DescribeRiskCheckResult
+type DescribeRiskCheckResultResponse struct {
+	*responses.BaseResponse
+	RequestId   string                      `json:"RequestId" xml:"RequestId"`
+	PageCount   int                         `json:"PageCount" xml:"PageCount"`
+	Count       int                         `json:"Count" xml:"Count"`
+	PageSize    int                         `json:"PageSize" xml:"PageSize"`
+	TotalCount  int                         `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int                         `json:"CurrentPage" xml:"CurrentPage"`
+	List        []RiskCheckResultForDisplay `json:"List" xml:"List"`
+}
+
+// CreateDescribeRiskCheckResultRequest creates a request to invoke DescribeRiskCheckResult API
+func CreateDescribeRiskCheckResultRequest() (request *DescribeRiskCheckResultRequest) {
+	request = &DescribeRiskCheckResultRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeRiskCheckResult", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeRiskCheckResultResponse creates a response to parse from DescribeRiskCheckResult response
+func CreateDescribeRiskCheckResultResponse() (response *DescribeRiskCheckResultResponse) {
+	response = &DescribeRiskCheckResultResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/describe_risk_check_summary.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// DescribeRiskCheckSummary invokes the sas.DescribeRiskCheckSummary API synchronously
+// api document: https://help.aliyun.com/api/sas/describeriskchecksummary.html
+func (client *Client) DescribeRiskCheckSummary(request *DescribeRiskCheckSummaryRequest) (response *DescribeRiskCheckSummaryResponse, err error) {
+	response = CreateDescribeRiskCheckSummaryResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRiskCheckSummaryWithChan invokes the sas.DescribeRiskCheckSummary API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskchecksummary.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskCheckSummaryWithChan(request *DescribeRiskCheckSummaryRequest) (<-chan *DescribeRiskCheckSummaryResponse, <-chan error) {
+	responseChan := make(chan *DescribeRiskCheckSummaryResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRiskCheckSummary(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRiskCheckSummaryWithCallback invokes the sas.DescribeRiskCheckSummary API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskchecksummary.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskCheckSummaryWithCallback(request *DescribeRiskCheckSummaryRequest, callback func(response *DescribeRiskCheckSummaryResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRiskCheckSummaryResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRiskCheckSummary(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRiskCheckSummaryRequest is the request struct for api DescribeRiskCheckSummary
+type DescribeRiskCheckSummaryRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+}
+
+// DescribeRiskCheckSummaryResponse is the response struct for api DescribeRiskCheckSummary
+type DescribeRiskCheckSummaryResponse struct {
+	*responses.BaseResponse
+	RequestId        string           `json:"RequestId" xml:"RequestId"`
+	RiskCheckSummary RiskCheckSummary `json:"RiskCheckSummary" xml:"RiskCheckSummary"`
+}
+
+// CreateDescribeRiskCheckSummaryRequest creates a request to invoke DescribeRiskCheckSummary API
+func CreateDescribeRiskCheckSummaryRequest() (request *DescribeRiskCheckSummaryRequest) {
+	request = &DescribeRiskCheckSummaryRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeRiskCheckSummary", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeRiskCheckSummaryResponse creates a response to parse from DescribeRiskCheckSummary response
+func CreateDescribeRiskCheckSummaryResponse() (response *DescribeRiskCheckSummaryResponse) {
+	response = &DescribeRiskCheckSummaryResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/describe_risk_item_type.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// DescribeRiskItemType invokes the sas.DescribeRiskItemType API synchronously
+// api document: https://help.aliyun.com/api/sas/describeriskitemtype.html
+func (client *Client) DescribeRiskItemType(request *DescribeRiskItemTypeRequest) (response *DescribeRiskItemTypeResponse, err error) {
+	response = CreateDescribeRiskItemTypeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRiskItemTypeWithChan invokes the sas.DescribeRiskItemType API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskitemtype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskItemTypeWithChan(request *DescribeRiskItemTypeRequest) (<-chan *DescribeRiskItemTypeResponse, <-chan error) {
+	responseChan := make(chan *DescribeRiskItemTypeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRiskItemType(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRiskItemTypeWithCallback invokes the sas.DescribeRiskItemType API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeriskitemtype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskItemTypeWithCallback(request *DescribeRiskItemTypeRequest, callback func(response *DescribeRiskItemTypeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRiskItemTypeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRiskItemType(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRiskItemTypeRequest is the request struct for api DescribeRiskItemType
+type DescribeRiskItemTypeRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+}
+
+// DescribeRiskItemTypeResponse is the response struct for api DescribeRiskItemType
+type DescribeRiskItemTypeResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	List      []ItemType `json:"List" xml:"List"`
+}
+
+// CreateDescribeRiskItemTypeRequest creates a request to invoke DescribeRiskItemType API
+func CreateDescribeRiskItemTypeRequest() (request *DescribeRiskItemTypeRequest) {
+	request = &DescribeRiskItemTypeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeRiskItemType", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeRiskItemTypeResponse creates a response to parse from DescribeRiskItemType response
+func CreateDescribeRiskItemTypeResponse() (response *DescribeRiskItemTypeResponse) {
+	response = &DescribeRiskItemTypeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/describe_security_check_schedule_config.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// DescribeSecurityCheckScheduleConfig invokes the sas.DescribeSecurityCheckScheduleConfig API synchronously
+// api document: https://help.aliyun.com/api/sas/describesecuritycheckscheduleconfig.html
+func (client *Client) DescribeSecurityCheckScheduleConfig(request *DescribeSecurityCheckScheduleConfigRequest) (response *DescribeSecurityCheckScheduleConfigResponse, err error) {
+	response = CreateDescribeSecurityCheckScheduleConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSecurityCheckScheduleConfigWithChan invokes the sas.DescribeSecurityCheckScheduleConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesecuritycheckscheduleconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSecurityCheckScheduleConfigWithChan(request *DescribeSecurityCheckScheduleConfigRequest) (<-chan *DescribeSecurityCheckScheduleConfigResponse, <-chan error) {
+	responseChan := make(chan *DescribeSecurityCheckScheduleConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSecurityCheckScheduleConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSecurityCheckScheduleConfigWithCallback invokes the sas.DescribeSecurityCheckScheduleConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesecuritycheckscheduleconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSecurityCheckScheduleConfigWithCallback(request *DescribeSecurityCheckScheduleConfigRequest, callback func(response *DescribeSecurityCheckScheduleConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSecurityCheckScheduleConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSecurityCheckScheduleConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSecurityCheckScheduleConfigRequest is the request struct for api DescribeSecurityCheckScheduleConfig
+type DescribeSecurityCheckScheduleConfigRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+}
+
+// DescribeSecurityCheckScheduleConfigResponse is the response struct for api DescribeSecurityCheckScheduleConfig
+type DescribeSecurityCheckScheduleConfigResponse struct {
+	*responses.BaseResponse
+	RequestId          string             `json:"RequestId" xml:"RequestId"`
+	RiskCheckJobConfig RiskCheckJobConfig `json:"RiskCheckJobConfig" xml:"RiskCheckJobConfig"`
+}
+
+// CreateDescribeSecurityCheckScheduleConfigRequest creates a request to invoke DescribeSecurityCheckScheduleConfig API
+func CreateDescribeSecurityCheckScheduleConfigRequest() (request *DescribeSecurityCheckScheduleConfigRequest) {
+	request = &DescribeSecurityCheckScheduleConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeSecurityCheckScheduleConfig", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeSecurityCheckScheduleConfigResponse creates a response to parse from DescribeSecurityCheckScheduleConfig response
+func CreateDescribeSecurityCheckScheduleConfigResponse() (response *DescribeSecurityCheckScheduleConfigResponse) {
+	response = &DescribeSecurityCheckScheduleConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 124 - 0
services/sas/describe_susp_event_detail.go

@@ -0,0 +1,124 @@
+package sas
+
+//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"
+)
+
+// DescribeSuspEventDetail invokes the sas.DescribeSuspEventDetail API synchronously
+// api document: https://help.aliyun.com/api/sas/describesuspeventdetail.html
+func (client *Client) DescribeSuspEventDetail(request *DescribeSuspEventDetailRequest) (response *DescribeSuspEventDetailResponse, err error) {
+	response = CreateDescribeSuspEventDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSuspEventDetailWithChan invokes the sas.DescribeSuspEventDetail API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesuspeventdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSuspEventDetailWithChan(request *DescribeSuspEventDetailRequest) (<-chan *DescribeSuspEventDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeSuspEventDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSuspEventDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSuspEventDetailWithCallback invokes the sas.DescribeSuspEventDetail API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesuspeventdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSuspEventDetailWithCallback(request *DescribeSuspEventDetailRequest, callback func(response *DescribeSuspEventDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSuspEventDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSuspEventDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSuspEventDetailRequest is the request struct for api DescribeSuspEventDetail
+type DescribeSuspEventDetailRequest struct {
+	*requests.RpcRequest
+	SuspiciousEventId requests.Integer `position:"Query" name:"SuspiciousEventId"`
+	SourceIp          string           `position:"Query" name:"SourceIp"`
+	From              string           `position:"Query" name:"From"`
+	Lang              string           `position:"Query" name:"Lang"`
+}
+
+// DescribeSuspEventDetailResponse is the response struct for api DescribeSuspEventDetail
+type DescribeSuspEventDetailResponse struct {
+	*responses.BaseResponse
+	RequestId       string      `json:"RequestId" xml:"RequestId"`
+	LastTime        string      `json:"LastTime" xml:"LastTime"`
+	Id              int         `json:"Id" xml:"Id"`
+	InstanceName    string      `json:"InstanceName" xml:"InstanceName"`
+	InternetIp      string      `json:"InternetIp" xml:"InternetIp"`
+	IntranetIp      string      `json:"IntranetIp" xml:"IntranetIp"`
+	Uuid            string      `json:"Uuid" xml:"Uuid"`
+	EventDesc       string      `json:"EventDesc" xml:"EventDesc"`
+	EventTypeDesc   string      `json:"EventTypeDesc" xml:"EventTypeDesc"`
+	Level           string      `json:"Level" xml:"Level"`
+	EventStatus     string      `json:"EventStatus" xml:"EventStatus"`
+	SaleVersion     string      `json:"SaleVersion" xml:"SaleVersion"`
+	DataSource      string      `json:"DataSource" xml:"DataSource"`
+	Type            string      `json:"Type" xml:"Type"`
+	OperateMsg      string      `json:"OperateMsg" xml:"OperateMsg"`
+	SasId           string      `json:"SasId" xml:"SasId"`
+	EventName       string      `json:"EventName" xml:"EventName"`
+	CanBeDealOnLine bool        `json:"CanBeDealOnLine" xml:"CanBeDealOnLine"`
+	Details         []QuaraFile `json:"Details" xml:"Details"`
+}
+
+// CreateDescribeSuspEventDetailRequest creates a request to invoke DescribeSuspEventDetail API
+func CreateDescribeSuspEventDetailRequest() (request *DescribeSuspEventDetailRequest) {
+	request = &DescribeSuspEventDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeSuspEventDetail", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeSuspEventDetailResponse creates a response to parse from DescribeSuspEventDetail response
+func CreateDescribeSuspEventDetailResponse() (response *DescribeSuspEventDetailResponse) {
+	response = &DescribeSuspEventDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/sas/describe_susp_events.go

@@ -0,0 +1,118 @@
+package sas
+
+//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"
+)
+
+// DescribeSuspEvents invokes the sas.DescribeSuspEvents API synchronously
+// api document: https://help.aliyun.com/api/sas/describesuspevents.html
+func (client *Client) DescribeSuspEvents(request *DescribeSuspEventsRequest) (response *DescribeSuspEventsResponse, err error) {
+	response = CreateDescribeSuspEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSuspEventsWithChan invokes the sas.DescribeSuspEvents API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesuspevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSuspEventsWithChan(request *DescribeSuspEventsRequest) (<-chan *DescribeSuspEventsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSuspEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSuspEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSuspEventsWithCallback invokes the sas.DescribeSuspEvents API asynchronously
+// api document: https://help.aliyun.com/api/sas/describesuspevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSuspEventsWithCallback(request *DescribeSuspEventsRequest, callback func(response *DescribeSuspEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSuspEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSuspEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSuspEventsRequest is the request struct for api DescribeSuspEvents
+type DescribeSuspEventsRequest struct {
+	*requests.RpcRequest
+	AlarmUniqueInfo  string `position:"Query" name:"AlarmUniqueInfo"`
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	Name             string `position:"Query" name:"Name"`
+	PageSize         string `position:"Query" name:"PageSize"`
+	Dealed           string `position:"Query" name:"Dealed"`
+	Remark           string `position:"Query" name:"Remark"`
+	CurrentPage      string `position:"Query" name:"CurrentPage"`
+	From             string `position:"Query" name:"From"`
+	Lang             string `position:"Query" name:"Lang"`
+	Levels           string `position:"Query" name:"Levels"`
+	ParentEventTypes string `position:"Query" name:"ParentEventTypes"`
+}
+
+// DescribeSuspEventsResponse is the response struct for api DescribeSuspEvents
+type DescribeSuspEventsResponse struct {
+	*responses.BaseResponse
+	RequestId   string           `json:"RequestId" xml:"RequestId"`
+	Count       int              `json:"Count" xml:"Count"`
+	PageSize    int              `json:"PageSize" xml:"PageSize"`
+	TotalCount  int              `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int              `json:"CurrentPage" xml:"CurrentPage"`
+	SuspEvents  []WarningSummary `json:"SuspEvents" xml:"SuspEvents"`
+}
+
+// CreateDescribeSuspEventsRequest creates a request to invoke DescribeSuspEvents API
+func CreateDescribeSuspEventsRequest() (request *DescribeSuspEventsRequest) {
+	request = &DescribeSuspEventsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeSuspEvents", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeSuspEventsResponse creates a response to parse from DescribeSuspEvents response
+func CreateDescribeSuspEventsResponse() (response *DescribeSuspEventsResponse) {
+	response = &DescribeSuspEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/describe_user_baseline_authorization.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// DescribeUserBaselineAuthorization invokes the sas.DescribeUserBaselineAuthorization API synchronously
+// api document: https://help.aliyun.com/api/sas/describeuserbaselineauthorization.html
+func (client *Client) DescribeUserBaselineAuthorization(request *DescribeUserBaselineAuthorizationRequest) (response *DescribeUserBaselineAuthorizationResponse, err error) {
+	response = CreateDescribeUserBaselineAuthorizationResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUserBaselineAuthorizationWithChan invokes the sas.DescribeUserBaselineAuthorization API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeuserbaselineauthorization.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserBaselineAuthorizationWithChan(request *DescribeUserBaselineAuthorizationRequest) (<-chan *DescribeUserBaselineAuthorizationResponse, <-chan error) {
+	responseChan := make(chan *DescribeUserBaselineAuthorizationResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUserBaselineAuthorization(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUserBaselineAuthorizationWithCallback invokes the sas.DescribeUserBaselineAuthorization API asynchronously
+// api document: https://help.aliyun.com/api/sas/describeuserbaselineauthorization.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUserBaselineAuthorizationWithCallback(request *DescribeUserBaselineAuthorizationRequest, callback func(response *DescribeUserBaselineAuthorizationResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUserBaselineAuthorizationResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUserBaselineAuthorization(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUserBaselineAuthorizationRequest is the request struct for api DescribeUserBaselineAuthorization
+type DescribeUserBaselineAuthorizationRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+}
+
+// DescribeUserBaselineAuthorizationResponse is the response struct for api DescribeUserBaselineAuthorization
+type DescribeUserBaselineAuthorizationResponse struct {
+	*responses.BaseResponse
+	RequestId                 string                    `json:"RequestId" xml:"RequestId"`
+	UserBaselineAuthorization UserBaselineAuthorization `json:"UserBaselineAuthorization" xml:"UserBaselineAuthorization"`
+}
+
+// CreateDescribeUserBaselineAuthorizationRequest creates a request to invoke DescribeUserBaselineAuthorization API
+func CreateDescribeUserBaselineAuthorizationRequest() (request *DescribeUserBaselineAuthorizationRequest) {
+	request = &DescribeUserBaselineAuthorizationRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeUserBaselineAuthorization", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeUserBaselineAuthorizationResponse creates a response to parse from DescribeUserBaselineAuthorization response
+func CreateDescribeUserBaselineAuthorizationResponse() (response *DescribeUserBaselineAuthorizationResponse) {
+	response = &DescribeUserBaselineAuthorizationResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas/describe_vul_details.go

@@ -0,0 +1,108 @@
+package sas
+
+//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"
+)
+
+// DescribeVulDetails invokes the sas.DescribeVulDetails API synchronously
+// api document: https://help.aliyun.com/api/sas/describevuldetails.html
+func (client *Client) DescribeVulDetails(request *DescribeVulDetailsRequest) (response *DescribeVulDetailsResponse, err error) {
+	response = CreateDescribeVulDetailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVulDetailsWithChan invokes the sas.DescribeVulDetails API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevuldetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulDetailsWithChan(request *DescribeVulDetailsRequest) (<-chan *DescribeVulDetailsResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulDetailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulDetails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVulDetailsWithCallback invokes the sas.DescribeVulDetails API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevuldetails.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulDetailsWithCallback(request *DescribeVulDetailsRequest, callback func(response *DescribeVulDetailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulDetailsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulDetails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVulDetailsRequest is the request struct for api DescribeVulDetails
+type DescribeVulDetailsRequest struct {
+	*requests.RpcRequest
+	AliasName string `position:"Query" name:"AliasName"`
+	SourceIp  string `position:"Query" name:"SourceIp"`
+	Name      string `position:"Query" name:"Name"`
+	Lang      string `position:"Query" name:"Lang"`
+	Type      string `position:"Query" name:"Type"`
+}
+
+// DescribeVulDetailsResponse is the response struct for api DescribeVulDetails
+type DescribeVulDetailsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Cves      []Cve  `json:"Cves" xml:"Cves"`
+}
+
+// CreateDescribeVulDetailsRequest creates a request to invoke DescribeVulDetails API
+func CreateDescribeVulDetailsRequest() (request *DescribeVulDetailsRequest) {
+	request = &DescribeVulDetailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeVulDetails", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeVulDetailsResponse creates a response to parse from DescribeVulDetails response
+func CreateDescribeVulDetailsResponse() (response *DescribeVulDetailsResponse) {
+	response = &DescribeVulDetailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/sas/describe_vul_list.go

@@ -0,0 +1,116 @@
+package sas
+
+//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"
+)
+
+// DescribeVulList invokes the sas.DescribeVulList API synchronously
+// api document: https://help.aliyun.com/api/sas/describevullist.html
+func (client *Client) DescribeVulList(request *DescribeVulListRequest) (response *DescribeVulListResponse, err error) {
+	response = CreateDescribeVulListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVulListWithChan invokes the sas.DescribeVulList API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevullist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulListWithChan(request *DescribeVulListRequest) (<-chan *DescribeVulListResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVulListWithCallback invokes the sas.DescribeVulList API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevullist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulListWithCallback(request *DescribeVulListRequest, callback func(response *DescribeVulListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVulListRequest is the request struct for api DescribeVulList
+type DescribeVulListRequest struct {
+	*requests.RpcRequest
+	AliasName   string           `position:"Query" name:"AliasName"`
+	SourceIp    string           `position:"Query" name:"SourceIp"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	Remark      string           `position:"Query" name:"Remark"`
+	Dealed      string           `position:"Query" name:"Dealed"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	Lang        string           `position:"Query" name:"Lang"`
+	Type        string           `position:"Query" name:"Type"`
+	Necessity   string           `position:"Query" name:"Necessity"`
+	Uuids       string           `position:"Query" name:"Uuids"`
+}
+
+// DescribeVulListResponse is the response struct for api DescribeVulList
+type DescribeVulListResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	PageSize    int         `json:"PageSize" xml:"PageSize"`
+	CurrentPage int         `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount  int         `json:"TotalCount" xml:"TotalCount"`
+	VulRecords  []VulRecord `json:"VulRecords" xml:"VulRecords"`
+}
+
+// CreateDescribeVulListRequest creates a request to invoke DescribeVulList API
+func CreateDescribeVulListRequest() (request *DescribeVulListRequest) {
+	request = &DescribeVulListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeVulList", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeVulListResponse creates a response to parse from DescribeVulList response
+func CreateDescribeVulListResponse() (response *DescribeVulListResponse) {
+	response = &DescribeVulListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/sas/describe_vul_whitelist.go

@@ -0,0 +1,109 @@
+package sas
+
+//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"
+)
+
+// DescribeVulWhitelist invokes the sas.DescribeVulWhitelist API synchronously
+// api document: https://help.aliyun.com/api/sas/describevulwhitelist.html
+func (client *Client) DescribeVulWhitelist(request *DescribeVulWhitelistRequest) (response *DescribeVulWhitelistResponse, err error) {
+	response = CreateDescribeVulWhitelistResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeVulWhitelistWithChan invokes the sas.DescribeVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulWhitelistWithChan(request *DescribeVulWhitelistRequest) (<-chan *DescribeVulWhitelistResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulWhitelistResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulWhitelist(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeVulWhitelistWithCallback invokes the sas.DescribeVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/describevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeVulWhitelistWithCallback(request *DescribeVulWhitelistRequest, callback func(response *DescribeVulWhitelistResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulWhitelistResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulWhitelist(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeVulWhitelistRequest is the request struct for api DescribeVulWhitelist
+type DescribeVulWhitelistRequest struct {
+	*requests.RpcRequest
+	SourceIp    string           `position:"Query" name:"SourceIp"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+// DescribeVulWhitelistResponse is the response struct for api DescribeVulWhitelist
+type DescribeVulWhitelistResponse struct {
+	*responses.BaseResponse
+	RequestId     string         `json:"RequestId" xml:"RequestId"`
+	PageSize      int            `json:"PageSize" xml:"PageSize"`
+	CurrentPage   int            `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount    int            `json:"TotalCount" xml:"TotalCount"`
+	VulWhitelists []VulWhitelist `json:"VulWhitelists" xml:"VulWhitelists"`
+}
+
+// CreateDescribeVulWhitelistRequest creates a request to invoke DescribeVulWhitelist API
+func CreateDescribeVulWhitelistRequest() (request *DescribeVulWhitelistRequest) {
+	request = &DescribeVulWhitelistRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "DescribeVulWhitelist", "sas", "openAPI")
+	return
+}
+
+// CreateDescribeVulWhitelistResponse creates a response to parse from DescribeVulWhitelist response
+func CreateDescribeVulWhitelistResponse() (response *DescribeVulWhitelistResponse) {
+	response = &DescribeVulWhitelistResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/sas/modify_auto_del_config.go

@@ -0,0 +1,104 @@
+package sas
+
+//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"
+)
+
+// ModifyAutoDelConfig invokes the sas.ModifyAutoDelConfig API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyautodelconfig.html
+func (client *Client) ModifyAutoDelConfig(request *ModifyAutoDelConfigRequest) (response *ModifyAutoDelConfigResponse, err error) {
+	response = CreateModifyAutoDelConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAutoDelConfigWithChan invokes the sas.ModifyAutoDelConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyautodelconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAutoDelConfigWithChan(request *ModifyAutoDelConfigRequest) (<-chan *ModifyAutoDelConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifyAutoDelConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAutoDelConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAutoDelConfigWithCallback invokes the sas.ModifyAutoDelConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyautodelconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAutoDelConfigWithCallback(request *ModifyAutoDelConfigRequest, callback func(response *ModifyAutoDelConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAutoDelConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAutoDelConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAutoDelConfigRequest is the request struct for api ModifyAutoDelConfig
+type ModifyAutoDelConfigRequest struct {
+	*requests.RpcRequest
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	Days     requests.Integer `position:"Query" name:"Days"`
+}
+
+// ModifyAutoDelConfigResponse is the response struct for api ModifyAutoDelConfig
+type ModifyAutoDelConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyAutoDelConfigRequest creates a request to invoke ModifyAutoDelConfig API
+func CreateModifyAutoDelConfigRequest() (request *ModifyAutoDelConfigRequest) {
+	request = &ModifyAutoDelConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyAutoDelConfig", "sas", "openAPI")
+	return
+}
+
+// CreateModifyAutoDelConfigResponse creates a response to parse from ModifyAutoDelConfig response
+func CreateModifyAutoDelConfigResponse() (response *ModifyAutoDelConfigResponse) {
+	response = &ModifyAutoDelConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/sas/modify_concern_necessity.go

@@ -0,0 +1,105 @@
+package sas
+
+//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"
+)
+
+// ModifyConcernNecessity invokes the sas.ModifyConcernNecessity API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyconcernnecessity.html
+func (client *Client) ModifyConcernNecessity(request *ModifyConcernNecessityRequest) (response *ModifyConcernNecessityResponse, err error) {
+	response = CreateModifyConcernNecessityResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyConcernNecessityWithChan invokes the sas.ModifyConcernNecessity API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyconcernnecessity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyConcernNecessityWithChan(request *ModifyConcernNecessityRequest) (<-chan *ModifyConcernNecessityResponse, <-chan error) {
+	responseChan := make(chan *ModifyConcernNecessityResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyConcernNecessity(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyConcernNecessityWithCallback invokes the sas.ModifyConcernNecessity API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyconcernnecessity.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyConcernNecessityWithCallback(request *ModifyConcernNecessityRequest, callback func(response *ModifyConcernNecessityResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyConcernNecessityResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyConcernNecessity(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyConcernNecessityRequest is the request struct for api ModifyConcernNecessity
+type ModifyConcernNecessityRequest struct {
+	*requests.RpcRequest
+	SourceIp         string `position:"Query" name:"SourceIp"`
+	Lang             string `position:"Query" name:"Lang"`
+	ConcernNecessity string `position:"Query" name:"ConcernNecessity"`
+}
+
+// ModifyConcernNecessityResponse is the response struct for api ModifyConcernNecessity
+type ModifyConcernNecessityResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyConcernNecessityRequest creates a request to invoke ModifyConcernNecessity API
+func CreateModifyConcernNecessityRequest() (request *ModifyConcernNecessityRequest) {
+	request = &ModifyConcernNecessityRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyConcernNecessity", "sas", "openAPI")
+	return
+}
+
+// CreateModifyConcernNecessityResponse creates a response to parse from ModifyConcernNecessity response
+func CreateModifyConcernNecessityResponse() (response *ModifyConcernNecessityResponse) {
+	response = &ModifyConcernNecessityResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/sas/modify_create_vul_whitelist.go

@@ -0,0 +1,105 @@
+package sas
+
+//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"
+)
+
+// ModifyCreateVulWhitelist invokes the sas.ModifyCreateVulWhitelist API synchronously
+// api document: https://help.aliyun.com/api/sas/modifycreatevulwhitelist.html
+func (client *Client) ModifyCreateVulWhitelist(request *ModifyCreateVulWhitelistRequest) (response *ModifyCreateVulWhitelistResponse, err error) {
+	response = CreateModifyCreateVulWhitelistResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyCreateVulWhitelistWithChan invokes the sas.ModifyCreateVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifycreatevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCreateVulWhitelistWithChan(request *ModifyCreateVulWhitelistRequest) (<-chan *ModifyCreateVulWhitelistResponse, <-chan error) {
+	responseChan := make(chan *ModifyCreateVulWhitelistResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyCreateVulWhitelist(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyCreateVulWhitelistWithCallback invokes the sas.ModifyCreateVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifycreatevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyCreateVulWhitelistWithCallback(request *ModifyCreateVulWhitelistRequest, callback func(response *ModifyCreateVulWhitelistResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyCreateVulWhitelistResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyCreateVulWhitelist(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyCreateVulWhitelistRequest is the request struct for api ModifyCreateVulWhitelist
+type ModifyCreateVulWhitelistRequest struct {
+	*requests.RpcRequest
+	Reason    string `position:"Query" name:"Reason"`
+	SourceIp  string `position:"Query" name:"SourceIp"`
+	Whitelist string `position:"Query" name:"Whitelist"`
+}
+
+// ModifyCreateVulWhitelistResponse is the response struct for api ModifyCreateVulWhitelist
+type ModifyCreateVulWhitelistResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyCreateVulWhitelistRequest creates a request to invoke ModifyCreateVulWhitelist API
+func CreateModifyCreateVulWhitelistRequest() (request *ModifyCreateVulWhitelistRequest) {
+	request = &ModifyCreateVulWhitelistRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyCreateVulWhitelist", "sas", "openAPI")
+	return
+}
+
+// CreateModifyCreateVulWhitelistResponse creates a response to parse from ModifyCreateVulWhitelist response
+func CreateModifyCreateVulWhitelistResponse() (response *ModifyCreateVulWhitelistResponse) {
+	response = &ModifyCreateVulWhitelistResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/sas/modify_delete_vul_whitelist.go

@@ -0,0 +1,104 @@
+package sas
+
+//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"
+)
+
+// ModifyDeleteVulWhitelist invokes the sas.ModifyDeleteVulWhitelist API synchronously
+// api document: https://help.aliyun.com/api/sas/modifydeletevulwhitelist.html
+func (client *Client) ModifyDeleteVulWhitelist(request *ModifyDeleteVulWhitelistRequest) (response *ModifyDeleteVulWhitelistResponse, err error) {
+	response = CreateModifyDeleteVulWhitelistResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyDeleteVulWhitelistWithChan invokes the sas.ModifyDeleteVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifydeletevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDeleteVulWhitelistWithChan(request *ModifyDeleteVulWhitelistRequest) (<-chan *ModifyDeleteVulWhitelistResponse, <-chan error) {
+	responseChan := make(chan *ModifyDeleteVulWhitelistResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyDeleteVulWhitelist(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyDeleteVulWhitelistWithCallback invokes the sas.ModifyDeleteVulWhitelist API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifydeletevulwhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyDeleteVulWhitelistWithCallback(request *ModifyDeleteVulWhitelistRequest, callback func(response *ModifyDeleteVulWhitelistResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyDeleteVulWhitelistResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyDeleteVulWhitelist(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyDeleteVulWhitelistRequest is the request struct for api ModifyDeleteVulWhitelist
+type ModifyDeleteVulWhitelistRequest struct {
+	*requests.RpcRequest
+	SourceIp  string `position:"Query" name:"SourceIp"`
+	Whitelist string `position:"Query" name:"Whitelist"`
+}
+
+// ModifyDeleteVulWhitelistResponse is the response struct for api ModifyDeleteVulWhitelist
+type ModifyDeleteVulWhitelistResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyDeleteVulWhitelistRequest creates a request to invoke ModifyDeleteVulWhitelist API
+func CreateModifyDeleteVulWhitelistRequest() (request *ModifyDeleteVulWhitelistRequest) {
+	request = &ModifyDeleteVulWhitelistRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyDeleteVulWhitelist", "sas", "openAPI")
+	return
+}
+
+// CreateModifyDeleteVulWhitelistResponse creates a response to parse from ModifyDeleteVulWhitelist response
+func CreateModifyDeleteVulWhitelistResponse() (response *ModifyDeleteVulWhitelistResponse) {
+	response = &ModifyDeleteVulWhitelistResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/sas/modify_emg_vul_submit.go

@@ -0,0 +1,106 @@
+package sas
+
+//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"
+)
+
+// ModifyEmgVulSubmit invokes the sas.ModifyEmgVulSubmit API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyemgvulsubmit.html
+func (client *Client) ModifyEmgVulSubmit(request *ModifyEmgVulSubmitRequest) (response *ModifyEmgVulSubmitResponse, err error) {
+	response = CreateModifyEmgVulSubmitResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyEmgVulSubmitWithChan invokes the sas.ModifyEmgVulSubmit API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyemgvulsubmit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyEmgVulSubmitWithChan(request *ModifyEmgVulSubmitRequest) (<-chan *ModifyEmgVulSubmitResponse, <-chan error) {
+	responseChan := make(chan *ModifyEmgVulSubmitResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyEmgVulSubmit(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyEmgVulSubmitWithCallback invokes the sas.ModifyEmgVulSubmit API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyemgvulsubmit.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyEmgVulSubmitWithCallback(request *ModifyEmgVulSubmitRequest, callback func(response *ModifyEmgVulSubmitResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyEmgVulSubmitResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyEmgVulSubmit(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyEmgVulSubmitRequest is the request struct for api ModifyEmgVulSubmit
+type ModifyEmgVulSubmitRequest struct {
+	*requests.RpcRequest
+	SourceIp      string `position:"Query" name:"SourceIp"`
+	Name          string `position:"Query" name:"Name"`
+	UserAgreement string `position:"Query" name:"UserAgreement"`
+	Lang          string `position:"Query" name:"Lang"`
+}
+
+// ModifyEmgVulSubmitResponse is the response struct for api ModifyEmgVulSubmit
+type ModifyEmgVulSubmitResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyEmgVulSubmitRequest creates a request to invoke ModifyEmgVulSubmit API
+func CreateModifyEmgVulSubmitRequest() (request *ModifyEmgVulSubmitRequest) {
+	request = &ModifyEmgVulSubmitRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyEmgVulSubmit", "sas", "openAPI")
+	return
+}
+
+// CreateModifyEmgVulSubmitResponse creates a response to parse from ModifyEmgVulSubmit response
+func CreateModifyEmgVulSubmitResponse() (response *ModifyEmgVulSubmitResponse) {
+	response = &ModifyEmgVulSubmitResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/sas/modify_operate_vul.go

@@ -0,0 +1,107 @@
+package sas
+
+//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"
+)
+
+// ModifyOperateVul invokes the sas.ModifyOperateVul API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyoperatevul.html
+func (client *Client) ModifyOperateVul(request *ModifyOperateVulRequest) (response *ModifyOperateVulResponse, err error) {
+	response = CreateModifyOperateVulResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyOperateVulWithChan invokes the sas.ModifyOperateVul API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyoperatevul.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyOperateVulWithChan(request *ModifyOperateVulRequest) (<-chan *ModifyOperateVulResponse, <-chan error) {
+	responseChan := make(chan *ModifyOperateVulResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyOperateVul(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyOperateVulWithCallback invokes the sas.ModifyOperateVul API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyoperatevul.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyOperateVulWithCallback(request *ModifyOperateVulRequest, callback func(response *ModifyOperateVulResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyOperateVulResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyOperateVul(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyOperateVulRequest is the request struct for api ModifyOperateVul
+type ModifyOperateVulRequest struct {
+	*requests.RpcRequest
+	Reason      string `position:"Query" name:"Reason"`
+	SourceIp    string `position:"Query" name:"SourceIp"`
+	OperateType string `position:"Query" name:"OperateType"`
+	Type        string `position:"Query" name:"Type"`
+	Info        string `position:"Query" name:"Info"`
+}
+
+// ModifyOperateVulResponse is the response struct for api ModifyOperateVul
+type ModifyOperateVulResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyOperateVulRequest creates a request to invoke ModifyOperateVul API
+func CreateModifyOperateVulRequest() (request *ModifyOperateVulRequest) {
+	request = &ModifyOperateVulRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyOperateVul", "sas", "openAPI")
+	return
+}
+
+// CreateModifyOperateVulResponse creates a response to parse from ModifyOperateVul response
+func CreateModifyOperateVulResponse() (response *ModifyOperateVulResponse) {
+	response = &ModifyOperateVulResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas/modify_risk_check_status.go

@@ -0,0 +1,108 @@
+package sas
+
+//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"
+)
+
+// ModifyRiskCheckStatus invokes the sas.ModifyRiskCheckStatus API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyriskcheckstatus.html
+func (client *Client) ModifyRiskCheckStatus(request *ModifyRiskCheckStatusRequest) (response *ModifyRiskCheckStatusResponse, err error) {
+	response = CreateModifyRiskCheckStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRiskCheckStatusWithChan invokes the sas.ModifyRiskCheckStatus API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyriskcheckstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRiskCheckStatusWithChan(request *ModifyRiskCheckStatusRequest) (<-chan *ModifyRiskCheckStatusResponse, <-chan error) {
+	responseChan := make(chan *ModifyRiskCheckStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRiskCheckStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRiskCheckStatusWithCallback invokes the sas.ModifyRiskCheckStatus API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyriskcheckstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRiskCheckStatusWithCallback(request *ModifyRiskCheckStatusRequest, callback func(response *ModifyRiskCheckStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRiskCheckStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRiskCheckStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRiskCheckStatusRequest is the request struct for api ModifyRiskCheckStatus
+type ModifyRiskCheckStatusRequest struct {
+	*requests.RpcRequest
+	ItemId          requests.Integer `position:"Query" name:"ItemId"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Lang            string           `position:"Query" name:"Lang"`
+	TaskId          requests.Integer `position:"Query" name:"TaskId"`
+	Status          string           `position:"Query" name:"Status"`
+}
+
+// ModifyRiskCheckStatusResponse is the response struct for api ModifyRiskCheckStatus
+type ModifyRiskCheckStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRiskCheckStatusRequest creates a request to invoke ModifyRiskCheckStatus API
+func CreateModifyRiskCheckStatusRequest() (request *ModifyRiskCheckStatusRequest) {
+	request = &ModifyRiskCheckStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyRiskCheckStatus", "sas", "openAPI")
+	return
+}
+
+// CreateModifyRiskCheckStatusResponse creates a response to parse from ModifyRiskCheckStatus response
+func CreateModifyRiskCheckStatusResponse() (response *ModifyRiskCheckStatusResponse) {
+	response = &ModifyRiskCheckStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas/modify_risk_single_result_status.go

@@ -0,0 +1,108 @@
+package sas
+
+//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"
+)
+
+// ModifyRiskSingleResultStatus invokes the sas.ModifyRiskSingleResultStatus API synchronously
+// api document: https://help.aliyun.com/api/sas/modifyrisksingleresultstatus.html
+func (client *Client) ModifyRiskSingleResultStatus(request *ModifyRiskSingleResultStatusRequest) (response *ModifyRiskSingleResultStatusResponse, err error) {
+	response = CreateModifyRiskSingleResultStatusResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyRiskSingleResultStatusWithChan invokes the sas.ModifyRiskSingleResultStatus API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyrisksingleresultstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRiskSingleResultStatusWithChan(request *ModifyRiskSingleResultStatusRequest) (<-chan *ModifyRiskSingleResultStatusResponse, <-chan error) {
+	responseChan := make(chan *ModifyRiskSingleResultStatusResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyRiskSingleResultStatus(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyRiskSingleResultStatusWithCallback invokes the sas.ModifyRiskSingleResultStatus API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifyrisksingleresultstatus.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyRiskSingleResultStatusWithCallback(request *ModifyRiskSingleResultStatusRequest, callback func(response *ModifyRiskSingleResultStatusResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyRiskSingleResultStatusResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyRiskSingleResultStatus(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyRiskSingleResultStatusRequest is the request struct for api ModifyRiskSingleResultStatus
+type ModifyRiskSingleResultStatusRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Ids             *[]string        `position:"Query" name:"Ids"  type:"Repeated"`
+	Lang            string           `position:"Query" name:"Lang"`
+	TaskId          requests.Integer `position:"Query" name:"TaskId"`
+	Status          string           `position:"Query" name:"Status"`
+}
+
+// ModifyRiskSingleResultStatusResponse is the response struct for api ModifyRiskSingleResultStatus
+type ModifyRiskSingleResultStatusResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyRiskSingleResultStatusRequest creates a request to invoke ModifyRiskSingleResultStatus API
+func CreateModifyRiskSingleResultStatusRequest() (request *ModifyRiskSingleResultStatusRequest) {
+	request = &ModifyRiskSingleResultStatusRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifyRiskSingleResultStatus", "sas", "openAPI")
+	return
+}
+
+// CreateModifyRiskSingleResultStatusResponse creates a response to parse from ModifyRiskSingleResultStatus response
+func CreateModifyRiskSingleResultStatusResponse() (response *ModifyRiskSingleResultStatusResponse) {
+	response = &ModifyRiskSingleResultStatusResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas/modify_security_check_schedule_config.go

@@ -0,0 +1,108 @@
+package sas
+
+//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"
+)
+
+// ModifySecurityCheckScheduleConfig invokes the sas.ModifySecurityCheckScheduleConfig API synchronously
+// api document: https://help.aliyun.com/api/sas/modifysecuritycheckscheduleconfig.html
+func (client *Client) ModifySecurityCheckScheduleConfig(request *ModifySecurityCheckScheduleConfigRequest) (response *ModifySecurityCheckScheduleConfigResponse, err error) {
+	response = CreateModifySecurityCheckScheduleConfigResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifySecurityCheckScheduleConfigWithChan invokes the sas.ModifySecurityCheckScheduleConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifysecuritycheckscheduleconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityCheckScheduleConfigWithChan(request *ModifySecurityCheckScheduleConfigRequest) (<-chan *ModifySecurityCheckScheduleConfigResponse, <-chan error) {
+	responseChan := make(chan *ModifySecurityCheckScheduleConfigResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifySecurityCheckScheduleConfig(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifySecurityCheckScheduleConfigWithCallback invokes the sas.ModifySecurityCheckScheduleConfig API asynchronously
+// api document: https://help.aliyun.com/api/sas/modifysecuritycheckscheduleconfig.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifySecurityCheckScheduleConfigWithCallback(request *ModifySecurityCheckScheduleConfigRequest, callback func(response *ModifySecurityCheckScheduleConfigResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifySecurityCheckScheduleConfigResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifySecurityCheckScheduleConfig(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifySecurityCheckScheduleConfigRequest is the request struct for api ModifySecurityCheckScheduleConfig
+type ModifySecurityCheckScheduleConfigRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	DaysOfWeek      string           `position:"Query" name:"DaysOfWeek"`
+	EndTime         requests.Integer `position:"Query" name:"EndTime"`
+	StartTime       requests.Integer `position:"Query" name:"StartTime"`
+	Lang            string           `position:"Query" name:"Lang"`
+}
+
+// ModifySecurityCheckScheduleConfigResponse is the response struct for api ModifySecurityCheckScheduleConfig
+type ModifySecurityCheckScheduleConfigResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifySecurityCheckScheduleConfigRequest creates a request to invoke ModifySecurityCheckScheduleConfig API
+func CreateModifySecurityCheckScheduleConfigRequest() (request *ModifySecurityCheckScheduleConfigRequest) {
+	request = &ModifySecurityCheckScheduleConfigRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "ModifySecurityCheckScheduleConfig", "sas", "openAPI")
+	return
+}
+
+// CreateModifySecurityCheckScheduleConfigResponse creates a response to parse from ModifySecurityCheckScheduleConfig response
+func CreateModifySecurityCheckScheduleConfigResponse() (response *ModifySecurityCheckScheduleConfigResponse) {
+	response = &ModifySecurityCheckScheduleConfigResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/sas/start_baseline_security_check.go

@@ -0,0 +1,108 @@
+package sas
+
+//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"
+)
+
+// StartBaselineSecurityCheck invokes the sas.StartBaselineSecurityCheck API synchronously
+// api document: https://help.aliyun.com/api/sas/startbaselinesecuritycheck.html
+func (client *Client) StartBaselineSecurityCheck(request *StartBaselineSecurityCheckRequest) (response *StartBaselineSecurityCheckResponse, err error) {
+	response = CreateStartBaselineSecurityCheckResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartBaselineSecurityCheckWithChan invokes the sas.StartBaselineSecurityCheck API asynchronously
+// api document: https://help.aliyun.com/api/sas/startbaselinesecuritycheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartBaselineSecurityCheckWithChan(request *StartBaselineSecurityCheckRequest) (<-chan *StartBaselineSecurityCheckResponse, <-chan error) {
+	responseChan := make(chan *StartBaselineSecurityCheckResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartBaselineSecurityCheck(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartBaselineSecurityCheckWithCallback invokes the sas.StartBaselineSecurityCheck API asynchronously
+// api document: https://help.aliyun.com/api/sas/startbaselinesecuritycheck.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartBaselineSecurityCheckWithCallback(request *StartBaselineSecurityCheckRequest, callback func(response *StartBaselineSecurityCheckResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartBaselineSecurityCheckResponse
+		var err error
+		defer close(result)
+		response, err = client.StartBaselineSecurityCheck(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartBaselineSecurityCheckRequest is the request struct for api StartBaselineSecurityCheck
+type StartBaselineSecurityCheckRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Assets          *[]string        `position:"Query" name:"Assets"  type:"Repeated"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	ItemIds         *[]string        `position:"Query" name:"ItemIds"  type:"Repeated"`
+	Lang            string           `position:"Query" name:"Lang"`
+	Type            string           `position:"Query" name:"Type"`
+}
+
+// StartBaselineSecurityCheckResponse is the response struct for api StartBaselineSecurityCheck
+type StartBaselineSecurityCheckResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStartBaselineSecurityCheckRequest creates a request to invoke StartBaselineSecurityCheck API
+func CreateStartBaselineSecurityCheckRequest() (request *StartBaselineSecurityCheckRequest) {
+	request = &StartBaselineSecurityCheckRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Sas", "2018-12-03", "StartBaselineSecurityCheck", "sas", "openAPI")
+	return
+}
+
+// CreateStartBaselineSecurityCheckResponse creates a response to parse from StartBaselineSecurityCheck response
+func CreateStartBaselineSecurityCheckResponse() (response *StartBaselineSecurityCheckResponse) {
+	response = &StartBaselineSecurityCheckResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 22 - 0
services/sas/struct_cause_detail.go

@@ -0,0 +1,22 @@
+package sas
+
+//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.
+
+// CauseDetail is a nested struct in sas response
+type CauseDetail struct {
+	Key   string      `json:"Key" xml:"Key"`
+	Value []ValueItem `json:"Value" xml:"Value"`
+}

+ 21 - 0
services/sas/struct_cause_details.go

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

+ 23 - 0
services/sas/struct_classify.go

@@ -0,0 +1,23 @@
+package sas
+
+//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.
+
+// Classify is a nested struct in sas response
+type Classify struct {
+	Classify     string `json:"Classify" xml:"Classify"`
+	Description  string `json:"Description" xml:"Description"`
+	DemoVideoUrl string `json:"DemoVideoUrl" xml:"DemoVideoUrl"`
+}

+ 21 - 0
services/sas/struct_classifys.go

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

+ 21 - 0
services/sas/struct_concern_necessity.go

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

+ 21 - 0
services/sas/struct_count_by_status.go

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

+ 39 - 0
services/sas/struct_cve.go

@@ -0,0 +1,39 @@
+package sas
+
+//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.
+
+// Cve is a nested struct in sas response
+type Cve struct {
+	CveId             string     `json:"CveId" xml:"CveId"`
+	CnvdId            string     `json:"CnvdId" xml:"CnvdId"`
+	Title             string     `json:"Title" xml:"Title"`
+	CvssScore         string     `json:"CvssScore" xml:"CvssScore"`
+	CvssVector        string     `json:"CvssVector" xml:"CvssVector"`
+	ReleaseTime       int        `json:"ReleaseTime" xml:"ReleaseTime"`
+	Complexity        string     `json:"Complexity" xml:"Complexity"`
+	Poc               string     `json:"Poc" xml:"Poc"`
+	PocCreateTime     int        `json:"PocCreateTime" xml:"PocCreateTime"`
+	PocDisclosureTime int        `json:"PocDisclosureTime" xml:"PocDisclosureTime"`
+	Summary           string     `json:"Summary" xml:"Summary"`
+	Solution          string     `json:"Solution" xml:"Solution"`
+	Content           string     `json:"Content" xml:"Content"`
+	Vendor            string     `json:"Vendor" xml:"Vendor"`
+	Product           string     `json:"Product" xml:"Product"`
+	VulLevel          string     `json:"VulLevel" xml:"VulLevel"`
+	Reference         string     `json:"Reference" xml:"Reference"`
+	Classify          string     `json:"Classify" xml:"Classify"`
+	Classifys         []Classify `json:"Classifys" xml:"Classifys"`
+}

+ 21 - 0
services/sas/struct_cve_list.go

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

+ 21 - 0
services/sas/struct_cves.go

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

+ 36 - 0
services/sas/struct_data.go

@@ -0,0 +1,36 @@
+package sas
+
+//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 response
+type Data struct {
+	InternetIp          string        `json:"InternetIp" xml:"InternetIp"`
+	Level               string        `json:"Level" xml:"Level"`
+	InstanceName        string        `json:"InstanceName" xml:"InstanceName"`
+	AlarmEventAliasName string        `json:"AlarmEventAliasName" xml:"AlarmEventAliasName"`
+	Type                string        `json:"Type" xml:"Type"`
+	Uuid                string        `json:"Uuid" xml:"Uuid"`
+	Solution            string        `json:"Solution" xml:"Solution"`
+	StartTime           int           `json:"StartTime" xml:"StartTime"`
+	EndTime             int           `json:"EndTime" xml:"EndTime"`
+	AlarmEventDesc      string        `json:"AlarmEventDesc" xml:"AlarmEventDesc"`
+	IntranetIp          string        `json:"IntranetIp" xml:"IntranetIp"`
+	CanBeDealOnLine     bool          `json:"CanBeDealOnLine" xml:"CanBeDealOnLine"`
+	AlarmUniqueInfo     string        `json:"AlarmUniqueInfo" xml:"AlarmUniqueInfo"`
+	DataSource          string        `json:"DataSource" xml:"DataSource"`
+	CanCancelFault      bool          `json:"CanCancelFault" xml:"CanCancelFault"`
+	CauseDetails        []CauseDetail `json:"CauseDetails" xml:"CauseDetails"`
+}

+ 21 - 0
services/sas/struct_details.go

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

+ 26 - 0
services/sas/struct_emg_vul_group.go

@@ -0,0 +1,26 @@
+package sas
+
+//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.
+
+// EmgVulGroup is a nested struct in sas response
+type EmgVulGroup struct {
+	AliasName    string `json:"AliasName" xml:"AliasName"`
+	PendingCount int    `json:"PendingCount" xml:"PendingCount"`
+	Name         string `json:"Name" xml:"Name"`
+	GmtPublish   int    `json:"GmtPublish" xml:"GmtPublish"`
+	Description  string `json:"Description" xml:"Description"`
+	Type         string `json:"Type" xml:"Type"`
+}

+ 21 - 0
services/sas/struct_emg_vul_group_list.go

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

+ 31 - 0
services/sas/struct_extend_content_json.go

@@ -0,0 +1,31 @@
+package sas
+
+//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.
+
+// ExtendContentJson is a nested struct in sas response
+type ExtendContentJson struct {
+	Os            string              `json:"Os" xml:"Os"`
+	OsRelease     string              `json:"OsRelease" xml:"OsRelease"`
+	Status        int                 `json:"Status" xml:"Status"`
+	LastTs        int                 `json:"LastTs" xml:"LastTs"`
+	AliasName     string              `json:"AliasName" xml:"AliasName"`
+	Tag           string              `json:"Tag" xml:"Tag"`
+	PrimaryId     int                 `json:"PrimaryId" xml:"PrimaryId"`
+	AbsolutePath  string              `json:"AbsolutePath" xml:"AbsolutePath"`
+	CveList       []string            `json:"cveList" xml:"cveList"`
+	Necessity     Necessity           `json:"Necessity" xml:"Necessity"`
+	RpmEntityList []RpmEntityListItem `json:"RpmEntityList" xml:"RpmEntityList"`
+}

+ 26 - 0
services/sas/struct_group.go

@@ -0,0 +1,26 @@
+package sas
+
+//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.
+
+// Group is a nested struct in sas response
+type Group struct {
+	Id            int           `json:"Id" xml:"Id"`
+	Title         string        `json:"Title" xml:"Title"`
+	Status        string        `json:"Status" xml:"Status"`
+	RemainingTime int           `json:"RemainingTime" xml:"RemainingTime"`
+	Sort          int           `json:"Sort" xml:"Sort"`
+	CountByStatus []StatusCount `json:"CountByStatus" xml:"CountByStatus"`
+}

+ 28 - 0
services/sas/struct_grouped_vul_item.go

@@ -0,0 +1,28 @@
+package sas
+
+//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.
+
+// GroupedVulItem is a nested struct in sas response
+type GroupedVulItem struct {
+	AliasName    string `json:"AliasName" xml:"AliasName"`
+	Type         string `json:"Type" xml:"Type"`
+	GmtLast      int    `json:"GmtLast" xml:"GmtLast"`
+	AsapCount    int    `json:"AsapCount" xml:"AsapCount"`
+	LaterCount   int    `json:"LaterCount" xml:"LaterCount"`
+	NntfCount    int    `json:"NntfCount" xml:"NntfCount"`
+	HandledCount int    `json:"HandledCount" xml:"HandledCount"`
+	Tags         string `json:"Tags" xml:"Tags"`
+}

+ 21 - 0
services/sas/struct_grouped_vul_items.go

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

+ 21 - 0
services/sas/struct_groups.go

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

+ 22 - 0
services/sas/struct_item_type.go

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

+ 22 - 0
services/sas/struct_level_count.go

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

+ 21 - 0
services/sas/struct_list_in_describe_risk_check_result.go

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

+ 21 - 0
services/sas/struct_list_in_describe_risk_item_type.go

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

+ 28 - 0
services/sas/struct_necessity.go

@@ -0,0 +1,28 @@
+package sas
+
+//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.
+
+// Necessity is a nested struct in sas response
+type Necessity struct {
+	CvssFactor       string `json:"Cvss_factor" xml:"Cvss_factor"`
+	GmtCreate        string `json:"Gmt_create" xml:"Gmt_create"`
+	Status           string `json:"Status" xml:"Status"`
+	EnviromentFactor string `json:"Enviroment_factor" xml:"Enviroment_factor"`
+	AssetsFactor     string `json:"Assets_factor" xml:"Assets_factor"`
+	IsCalc           string `json:"Is_calc" xml:"Is_calc"`
+	TotalScore       string `json:"Total_score" xml:"Total_score"`
+	TimeFactor       string `json:"Time_factor" xml:"Time_factor"`
+}

+ 24 - 0
services/sas/struct_page_info.go

@@ -0,0 +1,24 @@
+package sas
+
+//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.
+
+// PageInfo is a nested struct in sas response
+type PageInfo struct {
+	Count       int `json:"Count" xml:"Count"`
+	PageSize    int `json:"PageSize" xml:"PageSize"`
+	TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+}

+ 24 - 0
services/sas/struct_quara_file.go

@@ -0,0 +1,24 @@
+package sas
+
+//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.
+
+// QuaraFile is a nested struct in sas response
+type QuaraFile struct {
+	Name     string `json:"Name" xml:"Name"`
+	Type     string `json:"Type" xml:"Type"`
+	InfoType string `json:"InfoType" xml:"InfoType"`
+	Value    string `json:"Value" xml:"Value"`
+}

+ 23 - 0
services/sas/struct_risk_check_job_config.go

@@ -0,0 +1,23 @@
+package sas
+
+//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.
+
+// RiskCheckJobConfig is a nested struct in sas response
+type RiskCheckJobConfig struct {
+	StartTime  int    `json:"StartTime" xml:"StartTime"`
+	EndTime    int    `json:"EndTime" xml:"EndTime"`
+	DaysOfWeek string `json:"DaysOfWeek" xml:"DaysOfWeek"`
+}

+ 31 - 0
services/sas/struct_risk_check_result_for_display.go

@@ -0,0 +1,31 @@
+package sas
+
+//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.
+
+// RiskCheckResultForDisplay is a nested struct in sas response
+type RiskCheckResultForDisplay struct {
+	ItemId            int                `json:"ItemId" xml:"ItemId"`
+	TaskId            int                `json:"TaskId" xml:"TaskId"`
+	Title             string             `json:"Title" xml:"Title"`
+	RiskLevel         string             `json:"RiskLevel" xml:"RiskLevel"`
+	Status            string             `json:"Status" xml:"Status"`
+	AffectedCount     int                `json:"AffectedCount" xml:"AffectedCount"`
+	CheckTime         int                `json:"CheckTime" xml:"CheckTime"`
+	RemainingTime     int                `json:"RemainingTime" xml:"RemainingTime"`
+	Sort              int                `json:"Sort" xml:"Sort"`
+	Type              string             `json:"Type" xml:"Type"`
+	RiskItemResources []RiskItemResource `json:"RiskItemResources" xml:"RiskItemResources"`
+}

+ 28 - 0
services/sas/struct_risk_check_summary.go

@@ -0,0 +1,28 @@
+package sas
+
+//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.
+
+// RiskCheckSummary is a nested struct in sas response
+type RiskCheckSummary struct {
+	RiskCount          int          `json:"RiskCount" xml:"RiskCount"`
+	PreviousCount      int          `json:"PreviousCount" xml:"PreviousCount"`
+	ItemCount          int          `json:"ItemCount" xml:"ItemCount"`
+	RiskRate           float64      `json:"RiskRate" xml:"RiskRate"`
+	AffectedAssetCount int          `json:"AffectedAssetCount" xml:"AffectedAssetCount"`
+	PreviousTime       int          `json:"PreviousTime" xml:"PreviousTime"`
+	RiskLevelCount     []LevelCount `json:"RiskLevelCount" xml:"RiskLevelCount"`
+	Groups             []Group      `json:"Groups" xml:"Groups"`
+}

+ 22 - 0
services/sas/struct_risk_item_resource.go

@@ -0,0 +1,22 @@
+package sas
+
+//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.
+
+// RiskItemResource is a nested struct in sas response
+type RiskItemResource struct {
+	ResourceName    string `json:"ResourceName" xml:"ResourceName"`
+	ContentResource string `json:"ContentResource" xml:"ContentResource"`
+}

+ 21 - 0
services/sas/struct_risk_item_resources.go

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

+ 21 - 0
services/sas/struct_risk_level_count.go

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

+ 21 - 0
services/sas/struct_rpm_entity_list.go

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

+ 26 - 0
services/sas/struct_rpm_entity_list_item.go

@@ -0,0 +1,26 @@
+package sas
+
+//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.
+
+// RpmEntityListItem is a nested struct in sas response
+type RpmEntityListItem struct {
+	FullVersion string `json:"FullVersion" xml:"FullVersion"`
+	MatchDetail string `json:"MatchDetail" xml:"MatchDetail"`
+	Name        string `json:"Name" xml:"Name"`
+	Path        string `json:"Path" xml:"Path"`
+	UpdateCmd   string `json:"UpdateCmd" xml:"UpdateCmd"`
+	Version     string `json:"Version" xml:"Version"`
+}

+ 22 - 0
services/sas/struct_status_count.go

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

+ 21 - 0
services/sas/struct_susp_events_in_describe_alarm_event_list.go

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

+ 21 - 0
services/sas/struct_susp_events_in_describe_susp_events.go

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

+ 37 - 0
services/sas/struct_susp_events_item.go

@@ -0,0 +1,37 @@
+package sas
+
+//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.
+
+// SuspEventsItem is a nested struct in sas response
+type SuspEventsItem struct {
+	AlarmUniqueInfo      string `json:"AlarmUniqueInfo" xml:"AlarmUniqueInfo"`
+	Solution             string `json:"Solution" xml:"Solution"`
+	Level                string `json:"Level" xml:"Level"`
+	CanBeDealOnLine      bool   `json:"CanBeDealOnLine" xml:"CanBeDealOnLine"`
+	Description          string `json:"Description" xml:"Description"`
+	StartTime            int    `json:"StartTime" xml:"StartTime"`
+	EndTime              int    `json:"EndTime" xml:"EndTime"`
+	AlarmEventType       string `json:"AlarmEventType" xml:"AlarmEventType"`
+	SuspiciousEventCount int    `json:"SuspiciousEventCount" xml:"SuspiciousEventCount"`
+	Uuid                 string `json:"Uuid" xml:"Uuid"`
+	InstanceName         string `json:"InstanceName" xml:"InstanceName"`
+	InternetIp           string `json:"InternetIp" xml:"InternetIp"`
+	IntranetIp           string `json:"IntranetIp" xml:"IntranetIp"`
+	AlarmEventName       string `json:"AlarmEventName" xml:"AlarmEventName"`
+	SaleVersion          string `json:"SaleVersion" xml:"SaleVersion"`
+	DataSource           string `json:"DataSource" xml:"DataSource"`
+	CanCancelFault       bool   `json:"CanCancelFault" xml:"CanCancelFault"`
+}

+ 21 - 0
services/sas/struct_user_baseline_authorization.go

@@ -0,0 +1,21 @@
+package sas
+
+//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.
+
+// UserBaselineAuthorization is a nested struct in sas response
+type UserBaselineAuthorization struct {
+	Status int `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/sas/struct_value.go

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

+ 23 - 0
services/sas/struct_value_item.go

@@ -0,0 +1,23 @@
+package sas
+
+//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.
+
+// ValueItem is a nested struct in sas response
+type ValueItem struct {
+	Name  string `json:"Name" xml:"Name"`
+	Type  string `json:"Type" xml:"Type"`
+	Value string `json:"Value" xml:"Value"`
+}

+ 44 - 0
services/sas/struct_vul_record.go

@@ -0,0 +1,44 @@
+package sas
+
+//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.
+
+// VulRecord is a nested struct in sas response
+type VulRecord struct {
+	PrimaryId         int               `json:"PrimaryId" xml:"PrimaryId"`
+	Uuid              string            `json:"Uuid" xml:"Uuid"`
+	Name              string            `json:"Name" xml:"Name"`
+	Tag               string            `json:"Tag" xml:"Tag"`
+	Type              string            `json:"Type" xml:"Type"`
+	AliasName         string            `json:"AliasName" xml:"AliasName"`
+	FirstTs           int               `json:"FirstTs" xml:"FirstTs"`
+	LastTs            int               `json:"LastTs" xml:"LastTs"`
+	RepairTs          int               `json:"RepairTs" xml:"RepairTs"`
+	Status            int               `json:"Status" xml:"Status"`
+	Related           string            `json:"Related" xml:"Related"`
+	ResultCode        string            `json:"ResultCode" xml:"ResultCode"`
+	ResultMessage     string            `json:"ResultMessage" xml:"ResultMessage"`
+	ModifyTs          int               `json:"ModifyTs" xml:"ModifyTs"`
+	Necessity         string            `json:"Necessity" xml:"Necessity"`
+	GroupId           int               `json:"GroupId" xml:"GroupId"`
+	InstanceId        string            `json:"InstanceId" xml:"InstanceId"`
+	InstanceName      string            `json:"InstanceName" xml:"InstanceName"`
+	InternetIp        string            `json:"InternetIp" xml:"InternetIp"`
+	IntranetIp        string            `json:"IntranetIp" xml:"IntranetIp"`
+	Ip                string            `json:"Ip" xml:"Ip"`
+	OsVersion         string            `json:"OsVersion" xml:"OsVersion"`
+	NeedReboot        string            `json:"NeedReboot" xml:"NeedReboot"`
+	ExtendContentJson ExtendContentJson `json:"ExtendContentJson" xml:"ExtendContentJson"`
+}

+ 21 - 0
services/sas/struct_vul_records.go

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

+ 24 - 0
services/sas/struct_vul_whitelist.go

@@ -0,0 +1,24 @@
+package sas
+
+//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.
+
+// VulWhitelist is a nested struct in sas response
+type VulWhitelist struct {
+	Name      string `json:"Name" xml:"Name"`
+	Type      string `json:"Type" xml:"Type"`
+	AliasName string `json:"AliasName" xml:"AliasName"`
+	Reason    string `json:"Reason" xml:"Reason"`
+}

+ 21 - 0
services/sas/struct_vul_whitelists.go

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

+ 39 - 0
services/sas/struct_warning_summary.go

@@ -0,0 +1,39 @@
+package sas
+
+//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.
+
+// WarningSummary is a nested struct in sas response
+type WarningSummary struct {
+	LastTime        string `json:"LastTime" xml:"LastTime"`
+	OccurrenceTime  string `json:"OccurrenceTime" xml:"OccurrenceTime"`
+	Id              int    `json:"Id" xml:"Id"`
+	InstanceName    string `json:"InstanceName" xml:"InstanceName"`
+	InternetIp      string `json:"InternetIp" xml:"InternetIp"`
+	IntranetIp      string `json:"IntranetIp" xml:"IntranetIp"`
+	Uuid            string `json:"Uuid" xml:"Uuid"`
+	Name            string `json:"Name" xml:"Name"`
+	EventSubType    string `json:"EventSubType" xml:"EventSubType"`
+	Level           string `json:"Level" xml:"Level"`
+	EventStatus     int    `json:"EventStatus" xml:"EventStatus"`
+	Desc            string `json:"Desc" xml:"Desc"`
+	OperateMsg      string `json:"OperateMsg" xml:"OperateMsg"`
+	DataSource      string `json:"DataSource" xml:"DataSource"`
+	CanBeDealOnLine bool   `json:"CanBeDealOnLine" xml:"CanBeDealOnLine"`
+	SaleVersion     string `json:"SaleVersion" xml:"SaleVersion"`
+	AlarmEventType  string `json:"AlarmEventType" xml:"AlarmEventType"`
+	AlarmEventName  string `json:"AlarmEventName" xml:"AlarmEventName"`
+	AlarmUniqueInfo string `json:"AlarmUniqueInfo" xml:"AlarmUniqueInfo"`
+}