瀏覽代碼

JARVIS SDK Auto Released By Alibaba Cloud,Version:1.15.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 年之前
父節點
當前提交
78c5362219
共有 31 個文件被更改,包括 2070 次插入0 次删除
  1. 5 0
      ChangeLog.txt
  2. 81 0
      services/jarvis/client.go
  3. 114 0
      services/jarvis/create_access_white_list_group.go
  4. 114 0
      services/jarvis/create_cpmc_punish_feed_back.go
  5. 114 0
      services/jarvis/create_uid_white_list_group.go
  6. 107 0
      services/jarvis/delete_access_white_list_group.go
  7. 107 0
      services/jarvis/delete_uid_white_list_group.go
  8. 114 0
      services/jarvis/describe_access_white_list_group.go
  9. 108 0
      services/jarvis/describe_access_whitelist_ecs_list.go
  10. 112 0
      services/jarvis/describe_cpmc_punish_list.go
  11. 114 0
      services/jarvis/describe_reset_record_list.go
  12. 108 0
      services/jarvis/describe_reset_record_query_count.go
  13. 111 0
      services/jarvis/describe_risk_trend.go
  14. 107 0
      services/jarvis/describe_uid_gc_level.go
  15. 115 0
      services/jarvis/describe_uid_white_list_group.go
  16. 110 0
      services/jarvis/modify_access_white_list_auto_share.go
  17. 110 0
      services/jarvis/modify_uid_white_list_auto_share.go
  18. 39 0
      services/jarvis/struct_data.go
  19. 23 0
      services/jarvis/struct_data_item.go
  20. 21 0
      services/jarvis/struct_data_list_in_describe_access_white_list_group.go
  21. 21 0
      services/jarvis/struct_data_list_in_describe_cpmc_punish_list.go
  22. 21 0
      services/jarvis/struct_data_list_in_describe_reset_record_list.go
  23. 21 0
      services/jarvis/struct_data_list_in_describe_risk_trend.go
  24. 21 0
      services/jarvis/struct_data_list_in_describe_uid_white_list_group.go
  25. 23 0
      services/jarvis/struct_ecs.go
  26. 21 0
      services/jarvis/struct_ecs_list.go
  27. 22 0
      services/jarvis/struct_item.go
  28. 21 0
      services/jarvis/struct_items_in_describe_access_white_list_group.go
  29. 21 0
      services/jarvis/struct_items_in_describe_uid_white_list_group.go
  30. 23 0
      services/jarvis/struct_page_info.go
  31. 21 0
      services/jarvis/struct_product_list.go

+ 5 - 0
ChangeLog.txt

@@ -1,3 +1,8 @@
+2018-05-28 Version: 1.15.0
+1, This is an example of release-log.
+2, Please strictly follow this format to edit in English.
+3, Format:Number + , + Space + Description
+
 2018-05-26 Version: 1.14.2
 1, Add new interface InstallCloudAssistant, support Cloud Assistant client installation.
 2, Add new interface DescribeCloudAssistantStatus, support Cloud Assistant client status detection.

+ 81 - 0
services/jarvis/client.go

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

+ 114 - 0
services/jarvis/create_access_white_list_group.go

@@ -0,0 +1,114 @@
+package jarvis
+
+//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"
+)
+
+// CreateAccessWhiteListGroup invokes the jarvis.CreateAccessWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/createaccesswhitelistgroup.html
+func (client *Client) CreateAccessWhiteListGroup(request *CreateAccessWhiteListGroupRequest) (response *CreateAccessWhiteListGroupResponse, err error) {
+	response = CreateCreateAccessWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateAccessWhiteListGroupWithChan invokes the jarvis.CreateAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccessWhiteListGroupWithChan(request *CreateAccessWhiteListGroupRequest) (<-chan *CreateAccessWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *CreateAccessWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateAccessWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateAccessWhiteListGroupWithCallback invokes the jarvis.CreateAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateAccessWhiteListGroupWithCallback(request *CreateAccessWhiteListGroupRequest, callback func(response *CreateAccessWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateAccessWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateAccessWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateAccessWhiteListGroupRequest is the request struct for api CreateAccessWhiteListGroup
+type CreateAccessWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	Note            string           `position:"Query" name:"Note"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SrcIP           string           `position:"Query" name:"SrcIP"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	DstPort         requests.Integer `position:"Query" name:"DstPort"`
+	InstanceIdList  string           `position:"Query" name:"InstanceIdList"`
+	LiveTime        requests.Integer `position:"Query" name:"LiveTime"`
+	ProductName     string           `position:"Query" name:"ProductName"`
+	WhiteListType   requests.Integer `position:"Query" name:"WhiteListType"`
+	Lang            string           `position:"Query" name:"Lang"`
+	SourceCode      string           `position:"Query" name:"SourceCode"`
+}
+
+// CreateAccessWhiteListGroupResponse is the response struct for api CreateAccessWhiteListGroup
+type CreateAccessWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateCreateAccessWhiteListGroupRequest creates a request to invoke CreateAccessWhiteListGroup API
+func CreateCreateAccessWhiteListGroupRequest() (request *CreateAccessWhiteListGroupRequest) {
+	request = &CreateAccessWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "CreateAccessWhiteListGroup", "", "")
+	return
+}
+
+// CreateCreateAccessWhiteListGroupResponse creates a response to parse from CreateAccessWhiteListGroup response
+func CreateCreateAccessWhiteListGroupResponse() (response *CreateAccessWhiteListGroupResponse) {
+	response = &CreateAccessWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/jarvis/create_cpmc_punish_feed_back.go

@@ -0,0 +1,114 @@
+package jarvis
+
+//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"
+)
+
+// CreateCpmcPunishFeedBack invokes the jarvis.CreateCpmcPunishFeedBack API synchronously
+// api document: https://help.aliyun.com/api/jarvis/createcpmcpunishfeedback.html
+func (client *Client) CreateCpmcPunishFeedBack(request *CreateCpmcPunishFeedBackRequest) (response *CreateCpmcPunishFeedBackResponse, err error) {
+	response = CreateCreateCpmcPunishFeedBackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateCpmcPunishFeedBackWithChan invokes the jarvis.CreateCpmcPunishFeedBack API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createcpmcpunishfeedback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCpmcPunishFeedBackWithChan(request *CreateCpmcPunishFeedBackRequest) (<-chan *CreateCpmcPunishFeedBackResponse, <-chan error) {
+	responseChan := make(chan *CreateCpmcPunishFeedBackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateCpmcPunishFeedBack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateCpmcPunishFeedBackWithCallback invokes the jarvis.CreateCpmcPunishFeedBack API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createcpmcpunishfeedback.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateCpmcPunishFeedBackWithCallback(request *CreateCpmcPunishFeedBackRequest, callback func(response *CreateCpmcPunishFeedBackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateCpmcPunishFeedBackResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateCpmcPunishFeedBack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateCpmcPunishFeedBackRequest is the request struct for api CreateCpmcPunishFeedBack
+type CreateCpmcPunishFeedBackRequest struct {
+	*requests.RpcRequest
+	FeedBack     requests.Integer `position:"Query" name:"FeedBack"`
+	SrcIP        string           `position:"Query" name:"SrcIP"`
+	SourceIp     string           `position:"Query" name:"SourceIp"`
+	DstPort      requests.Integer `position:"Query" name:"DstPort"`
+	ProtocolName string           `position:"Query" name:"ProtocolName"`
+	SrcPort      requests.Integer `position:"Query" name:"SrcPort"`
+	PunishType   string           `position:"Query" name:"PunishType"`
+	GmtCreate    string           `position:"Query" name:"GmtCreate"`
+	DstIP        string           `position:"Query" name:"DstIP"`
+	Lang         string           `position:"Query" name:"Lang"`
+	SourceCode   string           `position:"Query" name:"SourceCode"`
+}
+
+// CreateCpmcPunishFeedBackResponse is the response struct for api CreateCpmcPunishFeedBack
+type CreateCpmcPunishFeedBackResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateCreateCpmcPunishFeedBackRequest creates a request to invoke CreateCpmcPunishFeedBack API
+func CreateCreateCpmcPunishFeedBackRequest() (request *CreateCpmcPunishFeedBackRequest) {
+	request = &CreateCpmcPunishFeedBackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "CreateCpmcPunishFeedBack", "", "")
+	return
+}
+
+// CreateCreateCpmcPunishFeedBackResponse creates a response to parse from CreateCpmcPunishFeedBack response
+func CreateCreateCpmcPunishFeedBackResponse() (response *CreateCpmcPunishFeedBackResponse) {
+	response = &CreateCpmcPunishFeedBackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/jarvis/create_uid_white_list_group.go

@@ -0,0 +1,114 @@
+package jarvis
+
+//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"
+)
+
+// CreateUidWhiteListGroup invokes the jarvis.CreateUidWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/createuidwhitelistgroup.html
+func (client *Client) CreateUidWhiteListGroup(request *CreateUidWhiteListGroupRequest) (response *CreateUidWhiteListGroupResponse, err error) {
+	response = CreateCreateUidWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateUidWhiteListGroupWithChan invokes the jarvis.CreateUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateUidWhiteListGroupWithChan(request *CreateUidWhiteListGroupRequest) (<-chan *CreateUidWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *CreateUidWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateUidWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateUidWhiteListGroupWithCallback invokes the jarvis.CreateUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/createuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateUidWhiteListGroupWithCallback(request *CreateUidWhiteListGroupRequest, callback func(response *CreateUidWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateUidWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateUidWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateUidWhiteListGroupRequest is the request struct for api CreateUidWhiteListGroup
+type CreateUidWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	Note            string           `position:"Query" name:"Note"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	DstPort         requests.Integer `position:"Query" name:"DstPort"`
+	InstanceIdList  string           `position:"Query" name:"InstanceIdList"`
+	LiveTime        requests.Integer `position:"Query" name:"LiveTime"`
+	ProductName     string           `position:"Query" name:"ProductName"`
+	WhiteListType   requests.Integer `position:"Query" name:"WhiteListType"`
+	Lang            string           `position:"Query" name:"Lang"`
+	SrcUid          string           `position:"Query" name:"SrcUid"`
+	SourceCode      string           `position:"Query" name:"SourceCode"`
+}
+
+// CreateUidWhiteListGroupResponse is the response struct for api CreateUidWhiteListGroup
+type CreateUidWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateCreateUidWhiteListGroupRequest creates a request to invoke CreateUidWhiteListGroup API
+func CreateCreateUidWhiteListGroupRequest() (request *CreateUidWhiteListGroupRequest) {
+	request = &CreateUidWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "CreateUidWhiteListGroup", "", "")
+	return
+}
+
+// CreateCreateUidWhiteListGroupResponse creates a response to parse from CreateUidWhiteListGroup response
+func CreateCreateUidWhiteListGroupResponse() (response *CreateUidWhiteListGroupResponse) {
+	response = &CreateUidWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/jarvis/delete_access_white_list_group.go

@@ -0,0 +1,107 @@
+package jarvis
+
+//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"
+)
+
+// DeleteAccessWhiteListGroup invokes the jarvis.DeleteAccessWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteaccesswhitelistgroup.html
+func (client *Client) DeleteAccessWhiteListGroup(request *DeleteAccessWhiteListGroupRequest) (response *DeleteAccessWhiteListGroupResponse, err error) {
+	response = CreateDeleteAccessWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteAccessWhiteListGroupWithChan invokes the jarvis.DeleteAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccessWhiteListGroupWithChan(request *DeleteAccessWhiteListGroupRequest) (<-chan *DeleteAccessWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteAccessWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteAccessWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteAccessWhiteListGroupWithCallback invokes the jarvis.DeleteAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteAccessWhiteListGroupWithCallback(request *DeleteAccessWhiteListGroupRequest, callback func(response *DeleteAccessWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteAccessWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteAccessWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteAccessWhiteListGroupRequest is the request struct for api DeleteAccessWhiteListGroup
+type DeleteAccessWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	GroupIdList string `position:"Query" name:"GroupIdList"`
+	SourceIp    string `position:"Query" name:"SourceIp"`
+	Lang        string `position:"Query" name:"Lang"`
+	SourceCode  string `position:"Query" name:"SourceCode"`
+}
+
+// DeleteAccessWhiteListGroupResponse is the response struct for api DeleteAccessWhiteListGroup
+type DeleteAccessWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateDeleteAccessWhiteListGroupRequest creates a request to invoke DeleteAccessWhiteListGroup API
+func CreateDeleteAccessWhiteListGroupRequest() (request *DeleteAccessWhiteListGroupRequest) {
+	request = &DeleteAccessWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DeleteAccessWhiteListGroup", "", "")
+	return
+}
+
+// CreateDeleteAccessWhiteListGroupResponse creates a response to parse from DeleteAccessWhiteListGroup response
+func CreateDeleteAccessWhiteListGroupResponse() (response *DeleteAccessWhiteListGroupResponse) {
+	response = &DeleteAccessWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/jarvis/delete_uid_white_list_group.go

@@ -0,0 +1,107 @@
+package jarvis
+
+//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"
+)
+
+// DeleteUidWhiteListGroup invokes the jarvis.DeleteUidWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteuidwhitelistgroup.html
+func (client *Client) DeleteUidWhiteListGroup(request *DeleteUidWhiteListGroupRequest) (response *DeleteUidWhiteListGroupResponse, err error) {
+	response = CreateDeleteUidWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteUidWhiteListGroupWithChan invokes the jarvis.DeleteUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUidWhiteListGroupWithChan(request *DeleteUidWhiteListGroupRequest) (<-chan *DeleteUidWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *DeleteUidWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteUidWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteUidWhiteListGroupWithCallback invokes the jarvis.DeleteUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/deleteuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteUidWhiteListGroupWithCallback(request *DeleteUidWhiteListGroupRequest, callback func(response *DeleteUidWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteUidWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteUidWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteUidWhiteListGroupRequest is the request struct for api DeleteUidWhiteListGroup
+type DeleteUidWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	GroupIdList string `position:"Query" name:"GroupIdList"`
+	SourceIp    string `position:"Query" name:"SourceIp"`
+	Lang        string `position:"Query" name:"Lang"`
+	SourceCode  string `position:"Query" name:"SourceCode"`
+}
+
+// DeleteUidWhiteListGroupResponse is the response struct for api DeleteUidWhiteListGroup
+type DeleteUidWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateDeleteUidWhiteListGroupRequest creates a request to invoke DeleteUidWhiteListGroup API
+func CreateDeleteUidWhiteListGroupRequest() (request *DeleteUidWhiteListGroupRequest) {
+	request = &DeleteUidWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DeleteUidWhiteListGroup", "", "")
+	return
+}
+
+// CreateDeleteUidWhiteListGroupResponse creates a response to parse from DeleteUidWhiteListGroup response
+func CreateDeleteUidWhiteListGroupResponse() (response *DeleteUidWhiteListGroupResponse) {
+	response = &DeleteUidWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/jarvis/describe_access_white_list_group.go

@@ -0,0 +1,114 @@
+package jarvis
+
+//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"
+)
+
+// DescribeAccessWhiteListGroup invokes the jarvis.DescribeAccessWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistgroup.html
+func (client *Client) DescribeAccessWhiteListGroup(request *DescribeAccessWhiteListGroupRequest) (response *DescribeAccessWhiteListGroupResponse, err error) {
+	response = CreateDescribeAccessWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccessWhiteListGroupWithChan invokes the jarvis.DescribeAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccessWhiteListGroupWithChan(request *DescribeAccessWhiteListGroupRequest) (<-chan *DescribeAccessWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccessWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccessWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccessWhiteListGroupWithCallback invokes the jarvis.DescribeAccessWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccessWhiteListGroupWithCallback(request *DescribeAccessWhiteListGroupRequest, callback func(response *DescribeAccessWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccessWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccessWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccessWhiteListGroupRequest is the request struct for api DescribeAccessWhiteListGroup
+type DescribeAccessWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	SrcIP         string           `position:"Query" name:"SrcIP"`
+	SourceIp      string           `position:"Query" name:"SourceIp"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage   requests.Integer `position:"Query" name:"CurrentPage"`
+	WhiteListType requests.Integer `position:"Query" name:"WhiteListType"`
+	DstIP         string           `position:"Query" name:"DstIP"`
+	Lang          string           `position:"Query" name:"Lang"`
+	Status        string           `position:"Query" name:"Status"`
+	SourceCode    string           `position:"Query" name:"SourceCode"`
+}
+
+// DescribeAccessWhiteListGroupResponse is the response struct for api DescribeAccessWhiteListGroup
+type DescribeAccessWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Module    string   `json:"module" xml:"module"`
+	PageInfo  PageInfo `json:"PageInfo" xml:"PageInfo"`
+	DataList  []Data   `json:"DataList" xml:"DataList"`
+}
+
+// CreateDescribeAccessWhiteListGroupRequest creates a request to invoke DescribeAccessWhiteListGroup API
+func CreateDescribeAccessWhiteListGroupRequest() (request *DescribeAccessWhiteListGroupRequest) {
+	request = &DescribeAccessWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeAccessWhiteListGroup", "", "")
+	return
+}
+
+// CreateDescribeAccessWhiteListGroupResponse creates a response to parse from DescribeAccessWhiteListGroup response
+func CreateDescribeAccessWhiteListGroupResponse() (response *DescribeAccessWhiteListGroupResponse) {
+	response = &DescribeAccessWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/jarvis/describe_access_whitelist_ecs_list.go

@@ -0,0 +1,108 @@
+package jarvis
+
+//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"
+)
+
+// DescribeAccessWhitelistEcsList invokes the jarvis.DescribeAccessWhitelistEcsList API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistecslist.html
+func (client *Client) DescribeAccessWhitelistEcsList(request *DescribeAccessWhitelistEcsListRequest) (response *DescribeAccessWhitelistEcsListResponse, err error) {
+	response = CreateDescribeAccessWhitelistEcsListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeAccessWhitelistEcsListWithChan invokes the jarvis.DescribeAccessWhitelistEcsList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistecslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccessWhitelistEcsListWithChan(request *DescribeAccessWhitelistEcsListRequest) (<-chan *DescribeAccessWhitelistEcsListResponse, <-chan error) {
+	responseChan := make(chan *DescribeAccessWhitelistEcsListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeAccessWhitelistEcsList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeAccessWhitelistEcsListWithCallback invokes the jarvis.DescribeAccessWhitelistEcsList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeaccesswhitelistecslist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeAccessWhitelistEcsListWithCallback(request *DescribeAccessWhitelistEcsListRequest, callback func(response *DescribeAccessWhitelistEcsListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeAccessWhitelistEcsListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeAccessWhitelistEcsList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeAccessWhitelistEcsListRequest is the request struct for api DescribeAccessWhitelistEcsList
+type DescribeAccessWhitelistEcsListRequest struct {
+	*requests.RpcRequest
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+	SourceCode string `position:"Query" name:"SourceCode"`
+}
+
+// DescribeAccessWhitelistEcsListResponse is the response struct for api DescribeAccessWhitelistEcsList
+type DescribeAccessWhitelistEcsListResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	Module     string `json:"module" xml:"module"`
+	EcsList    []Ecs  `json:"EcsList" xml:"EcsList"`
+}
+
+// CreateDescribeAccessWhitelistEcsListRequest creates a request to invoke DescribeAccessWhitelistEcsList API
+func CreateDescribeAccessWhitelistEcsListRequest() (request *DescribeAccessWhitelistEcsListRequest) {
+	request = &DescribeAccessWhitelistEcsListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeAccessWhitelistEcsList", "", "")
+	return
+}
+
+// CreateDescribeAccessWhitelistEcsListResponse creates a response to parse from DescribeAccessWhitelistEcsList response
+func CreateDescribeAccessWhitelistEcsListResponse() (response *DescribeAccessWhitelistEcsListResponse) {
+	response = &DescribeAccessWhitelistEcsListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/jarvis/describe_cpmc_punish_list.go

@@ -0,0 +1,112 @@
+package jarvis
+
+//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"
+)
+
+// DescribeCpmcPunishList invokes the jarvis.DescribeCpmcPunishList API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describecpmcpunishlist.html
+func (client *Client) DescribeCpmcPunishList(request *DescribeCpmcPunishListRequest) (response *DescribeCpmcPunishListResponse, err error) {
+	response = CreateDescribeCpmcPunishListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeCpmcPunishListWithChan invokes the jarvis.DescribeCpmcPunishList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describecpmcpunishlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCpmcPunishListWithChan(request *DescribeCpmcPunishListRequest) (<-chan *DescribeCpmcPunishListResponse, <-chan error) {
+	responseChan := make(chan *DescribeCpmcPunishListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeCpmcPunishList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeCpmcPunishListWithCallback invokes the jarvis.DescribeCpmcPunishList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describecpmcpunishlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeCpmcPunishListWithCallback(request *DescribeCpmcPunishListRequest, callback func(response *DescribeCpmcPunishListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeCpmcPunishListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeCpmcPunishList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeCpmcPunishListRequest is the request struct for api DescribeCpmcPunishList
+type DescribeCpmcPunishListRequest struct {
+	*requests.RpcRequest
+	SrcIP        string           `position:"Query" name:"SrcIP"`
+	SourceIp     string           `position:"Query" name:"SourceIp"`
+	PageSize     requests.Integer `position:"Query" name:"pageSize"`
+	CurrentPage  requests.Integer `position:"Query" name:"currentPage"`
+	PunishStatus string           `position:"Query" name:"PunishStatus"`
+	Lang         string           `position:"Query" name:"Lang"`
+	SourceCode   string           `position:"Query" name:"SourceCode"`
+}
+
+// DescribeCpmcPunishListResponse is the response struct for api DescribeCpmcPunishList
+type DescribeCpmcPunishListResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Module    string   `json:"Module" xml:"Module"`
+	PageInfo  PageInfo `json:"PageInfo" xml:"PageInfo"`
+	DataList  []Data   `json:"DataList" xml:"DataList"`
+}
+
+// CreateDescribeCpmcPunishListRequest creates a request to invoke DescribeCpmcPunishList API
+func CreateDescribeCpmcPunishListRequest() (request *DescribeCpmcPunishListRequest) {
+	request = &DescribeCpmcPunishListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeCpmcPunishList", "", "")
+	return
+}
+
+// CreateDescribeCpmcPunishListResponse creates a response to parse from DescribeCpmcPunishList response
+func CreateDescribeCpmcPunishListResponse() (response *DescribeCpmcPunishListResponse) {
+	response = &DescribeCpmcPunishListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 114 - 0
services/jarvis/describe_reset_record_list.go

@@ -0,0 +1,114 @@
+package jarvis
+
+//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"
+)
+
+// DescribeResetRecordList invokes the jarvis.DescribeResetRecordList API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordlist.html
+func (client *Client) DescribeResetRecordList(request *DescribeResetRecordListRequest) (response *DescribeResetRecordListResponse, err error) {
+	response = CreateDescribeResetRecordListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResetRecordListWithChan invokes the jarvis.DescribeResetRecordList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResetRecordListWithChan(request *DescribeResetRecordListRequest) (<-chan *DescribeResetRecordListResponse, <-chan error) {
+	responseChan := make(chan *DescribeResetRecordListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResetRecordList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResetRecordListWithCallback invokes the jarvis.DescribeResetRecordList API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResetRecordListWithCallback(request *DescribeResetRecordListRequest, callback func(response *DescribeResetRecordListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResetRecordListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResetRecordList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResetRecordListRequest is the request struct for api DescribeResetRecordList
+type DescribeResetRecordListRequest struct {
+	*requests.RpcRequest
+	SrcIP       string           `position:"Query" name:"SrcIP"`
+	Period      string           `position:"Query" name:"Period"`
+	SourceIp    string           `position:"Query" name:"SourceIp"`
+	PageSize    requests.Integer `position:"Query" name:"pageSize"`
+	CurrentPage requests.Integer `position:"Query" name:"currentPage"`
+	DstIP       string           `position:"Query" name:"DstIP"`
+	Region      string           `position:"Query" name:"Region"`
+	Lang        string           `position:"Query" name:"Lang"`
+	SourceCode  string           `position:"Query" name:"SourceCode"`
+}
+
+// DescribeResetRecordListResponse is the response struct for api DescribeResetRecordList
+type DescribeResetRecordListResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Module    string   `json:"Module" xml:"Module"`
+	PageInfo  PageInfo `json:"PageInfo" xml:"PageInfo"`
+	DataList  []Data   `json:"DataList" xml:"DataList"`
+}
+
+// CreateDescribeResetRecordListRequest creates a request to invoke DescribeResetRecordList API
+func CreateDescribeResetRecordListRequest() (request *DescribeResetRecordListRequest) {
+	request = &DescribeResetRecordListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeResetRecordList", "", "")
+	return
+}
+
+// CreateDescribeResetRecordListResponse creates a response to parse from DescribeResetRecordList response
+func CreateDescribeResetRecordListResponse() (response *DescribeResetRecordListResponse) {
+	response = &DescribeResetRecordListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/jarvis/describe_reset_record_query_count.go

@@ -0,0 +1,108 @@
+package jarvis
+
+//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"
+)
+
+// DescribeResetRecordQueryCount invokes the jarvis.DescribeResetRecordQueryCount API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordquerycount.html
+func (client *Client) DescribeResetRecordQueryCount(request *DescribeResetRecordQueryCountRequest) (response *DescribeResetRecordQueryCountResponse, err error) {
+	response = CreateDescribeResetRecordQueryCountResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResetRecordQueryCountWithChan invokes the jarvis.DescribeResetRecordQueryCount API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordquerycount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResetRecordQueryCountWithChan(request *DescribeResetRecordQueryCountRequest) (<-chan *DescribeResetRecordQueryCountResponse, <-chan error) {
+	responseChan := make(chan *DescribeResetRecordQueryCountResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResetRecordQueryCount(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResetRecordQueryCountWithCallback invokes the jarvis.DescribeResetRecordQueryCount API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeresetrecordquerycount.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResetRecordQueryCountWithCallback(request *DescribeResetRecordQueryCountRequest, callback func(response *DescribeResetRecordQueryCountResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResetRecordQueryCountResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResetRecordQueryCount(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResetRecordQueryCountRequest is the request struct for api DescribeResetRecordQueryCount
+type DescribeResetRecordQueryCountRequest struct {
+	*requests.RpcRequest
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+	SourceCode string `position:"Query" name:"SourceCode"`
+}
+
+// DescribeResetRecordQueryCountResponse is the response struct for api DescribeResetRecordQueryCount
+type DescribeResetRecordQueryCountResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	TotalCount int    `json:"TotalCount" xml:"TotalCount"`
+	QueryCount int    `json:"QueryCount" xml:"QueryCount"`
+	Module     string `json:"Module" xml:"Module"`
+}
+
+// CreateDescribeResetRecordQueryCountRequest creates a request to invoke DescribeResetRecordQueryCount API
+func CreateDescribeResetRecordQueryCountRequest() (request *DescribeResetRecordQueryCountRequest) {
+	request = &DescribeResetRecordQueryCountRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeResetRecordQueryCount", "", "")
+	return
+}
+
+// CreateDescribeResetRecordQueryCountResponse creates a response to parse from DescribeResetRecordQueryCount response
+func CreateDescribeResetRecordQueryCountResponse() (response *DescribeResetRecordQueryCountResponse) {
+	response = &DescribeResetRecordQueryCountResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/jarvis/describe_risk_trend.go

@@ -0,0 +1,111 @@
+package jarvis
+
+//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"
+)
+
+// DescribeRiskTrend invokes the jarvis.DescribeRiskTrend API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describerisktrend.html
+func (client *Client) DescribeRiskTrend(request *DescribeRiskTrendRequest) (response *DescribeRiskTrendResponse, err error) {
+	response = CreateDescribeRiskTrendResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRiskTrendWithChan invokes the jarvis.DescribeRiskTrend API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describerisktrend.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskTrendWithChan(request *DescribeRiskTrendRequest) (<-chan *DescribeRiskTrendResponse, <-chan error) {
+	responseChan := make(chan *DescribeRiskTrendResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRiskTrend(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRiskTrendWithCallback invokes the jarvis.DescribeRiskTrend API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describerisktrend.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRiskTrendWithCallback(request *DescribeRiskTrendRequest, callback func(response *DescribeRiskTrendResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRiskTrendResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRiskTrend(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRiskTrendRequest is the request struct for api DescribeRiskTrend
+type DescribeRiskTrendRequest struct {
+	*requests.RpcRequest
+	SourceIp      string `position:"Query" name:"SourceIp"`
+	QueryProduct  string `position:"Query" name:"QueryProduct"`
+	Lang          string `position:"Query" name:"Lang"`
+	Peroid        string `position:"Query" name:"Peroid"`
+	SourceCode    string `position:"Query" name:"SourceCode"`
+	QueryRegionId string `position:"Query" name:"QueryRegionId"`
+}
+
+// DescribeRiskTrendResponse is the response struct for api DescribeRiskTrend
+type DescribeRiskTrendResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount string     `json:"TotalCount" xml:"TotalCount"`
+	Module     string     `json:"Module" xml:"Module"`
+	DataList   []DataItem `json:"DataList" xml:"DataList"`
+}
+
+// CreateDescribeRiskTrendRequest creates a request to invoke DescribeRiskTrend API
+func CreateDescribeRiskTrendRequest() (request *DescribeRiskTrendRequest) {
+	request = &DescribeRiskTrendRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeRiskTrend", "", "")
+	return
+}
+
+// CreateDescribeRiskTrendResponse creates a response to parse from DescribeRiskTrend response
+func CreateDescribeRiskTrendResponse() (response *DescribeRiskTrendResponse) {
+	response = &DescribeRiskTrendResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/jarvis/describe_uid_gc_level.go

@@ -0,0 +1,107 @@
+package jarvis
+
+//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"
+)
+
+// DescribeUidGcLevel invokes the jarvis.DescribeUidGcLevel API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidgclevel.html
+func (client *Client) DescribeUidGcLevel(request *DescribeUidGcLevelRequest) (response *DescribeUidGcLevelResponse, err error) {
+	response = CreateDescribeUidGcLevelResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUidGcLevelWithChan invokes the jarvis.DescribeUidGcLevel API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidgclevel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUidGcLevelWithChan(request *DescribeUidGcLevelRequest) (<-chan *DescribeUidGcLevelResponse, <-chan error) {
+	responseChan := make(chan *DescribeUidGcLevelResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUidGcLevel(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUidGcLevelWithCallback invokes the jarvis.DescribeUidGcLevel API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidgclevel.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUidGcLevelWithCallback(request *DescribeUidGcLevelRequest, callback func(response *DescribeUidGcLevelResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUidGcLevelResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUidGcLevel(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUidGcLevelRequest is the request struct for api DescribeUidGcLevel
+type DescribeUidGcLevelRequest struct {
+	*requests.RpcRequest
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+	SourceCode string `position:"Query" name:"SourceCode"`
+}
+
+// DescribeUidGcLevelResponse is the response struct for api DescribeUidGcLevel
+type DescribeUidGcLevelResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+	Gclevel   string `json:"Gclevel" xml:"Gclevel"`
+}
+
+// CreateDescribeUidGcLevelRequest creates a request to invoke DescribeUidGcLevel API
+func CreateDescribeUidGcLevelRequest() (request *DescribeUidGcLevelRequest) {
+	request = &DescribeUidGcLevelRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeUidGcLevel", "", "")
+	return
+}
+
+// CreateDescribeUidGcLevelResponse creates a response to parse from DescribeUidGcLevel response
+func CreateDescribeUidGcLevelResponse() (response *DescribeUidGcLevelResponse) {
+	response = &DescribeUidGcLevelResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/jarvis/describe_uid_white_list_group.go

@@ -0,0 +1,115 @@
+package jarvis
+
+//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"
+)
+
+// DescribeUidWhiteListGroup invokes the jarvis.DescribeUidWhiteListGroup API synchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidwhitelistgroup.html
+func (client *Client) DescribeUidWhiteListGroup(request *DescribeUidWhiteListGroupRequest) (response *DescribeUidWhiteListGroupResponse, err error) {
+	response = CreateDescribeUidWhiteListGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeUidWhiteListGroupWithChan invokes the jarvis.DescribeUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUidWhiteListGroupWithChan(request *DescribeUidWhiteListGroupRequest) (<-chan *DescribeUidWhiteListGroupResponse, <-chan error) {
+	responseChan := make(chan *DescribeUidWhiteListGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeUidWhiteListGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeUidWhiteListGroupWithCallback invokes the jarvis.DescribeUidWhiteListGroup API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/describeuidwhitelistgroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeUidWhiteListGroupWithCallback(request *DescribeUidWhiteListGroupRequest, callback func(response *DescribeUidWhiteListGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeUidWhiteListGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeUidWhiteListGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeUidWhiteListGroupRequest is the request struct for api DescribeUidWhiteListGroup
+type DescribeUidWhiteListGroupRequest struct {
+	*requests.RpcRequest
+	SourceIp      string           `position:"Query" name:"SourceIp"`
+	PageSize      requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage   requests.Integer `position:"Query" name:"CurrentPage"`
+	WhiteListType requests.Integer `position:"Query" name:"WhiteListType"`
+	DstIP         string           `position:"Query" name:"DstIP"`
+	Lang          string           `position:"Query" name:"Lang"`
+	SrcUid        string           `position:"Query" name:"SrcUid"`
+	Status        string           `position:"Query" name:"Status"`
+	SourceCode    string           `position:"Query" name:"SourceCode"`
+}
+
+// DescribeUidWhiteListGroupResponse is the response struct for api DescribeUidWhiteListGroup
+type DescribeUidWhiteListGroupResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Module      string   `json:"module" xml:"module"`
+	ProductList []string `json:"ProductList" xml:"ProductList"`
+	PageInfo    PageInfo `json:"PageInfo" xml:"PageInfo"`
+	DataList    []Data   `json:"DataList" xml:"DataList"`
+}
+
+// CreateDescribeUidWhiteListGroupRequest creates a request to invoke DescribeUidWhiteListGroup API
+func CreateDescribeUidWhiteListGroupRequest() (request *DescribeUidWhiteListGroupRequest) {
+	request = &DescribeUidWhiteListGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "DescribeUidWhiteListGroup", "", "")
+	return
+}
+
+// CreateDescribeUidWhiteListGroupResponse creates a response to parse from DescribeUidWhiteListGroup response
+func CreateDescribeUidWhiteListGroupResponse() (response *DescribeUidWhiteListGroupResponse) {
+	response = &DescribeUidWhiteListGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/jarvis/modify_access_white_list_auto_share.go

@@ -0,0 +1,110 @@
+package jarvis
+
+//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"
+)
+
+// ModifyAccessWhiteListAutoShare invokes the jarvis.ModifyAccessWhiteListAutoShare API synchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyaccesswhitelistautoshare.html
+func (client *Client) ModifyAccessWhiteListAutoShare(request *ModifyAccessWhiteListAutoShareRequest) (response *ModifyAccessWhiteListAutoShareResponse, err error) {
+	response = CreateModifyAccessWhiteListAutoShareResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyAccessWhiteListAutoShareWithChan invokes the jarvis.ModifyAccessWhiteListAutoShare API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyaccesswhitelistautoshare.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccessWhiteListAutoShareWithChan(request *ModifyAccessWhiteListAutoShareRequest) (<-chan *ModifyAccessWhiteListAutoShareResponse, <-chan error) {
+	responseChan := make(chan *ModifyAccessWhiteListAutoShareResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyAccessWhiteListAutoShare(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyAccessWhiteListAutoShareWithCallback invokes the jarvis.ModifyAccessWhiteListAutoShare API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyaccesswhitelistautoshare.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyAccessWhiteListAutoShareWithCallback(request *ModifyAccessWhiteListAutoShareRequest, callback func(response *ModifyAccessWhiteListAutoShareResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyAccessWhiteListAutoShareResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyAccessWhiteListAutoShare(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyAccessWhiteListAutoShareRequest is the request struct for api ModifyAccessWhiteListAutoShare
+type ModifyAccessWhiteListAutoShareRequest struct {
+	*requests.RpcRequest
+	SrcIP         string           `position:"Query" name:"SrcIP"`
+	SourceIp      string           `position:"Query" name:"SourceIp"`
+	AutoConfig    requests.Integer `position:"Query" name:"AutoConfig"`
+	ProductName   string           `position:"Query" name:"ProductName"`
+	WhiteListType requests.Integer `position:"Query" name:"WhiteListType"`
+	Lang          string           `position:"Query" name:"Lang"`
+	SourceCode    string           `position:"Query" name:"SourceCode"`
+}
+
+// ModifyAccessWhiteListAutoShareResponse is the response struct for api ModifyAccessWhiteListAutoShare
+type ModifyAccessWhiteListAutoShareResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateModifyAccessWhiteListAutoShareRequest creates a request to invoke ModifyAccessWhiteListAutoShare API
+func CreateModifyAccessWhiteListAutoShareRequest() (request *ModifyAccessWhiteListAutoShareRequest) {
+	request = &ModifyAccessWhiteListAutoShareRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "ModifyAccessWhiteListAutoShare", "", "")
+	return
+}
+
+// CreateModifyAccessWhiteListAutoShareResponse creates a response to parse from ModifyAccessWhiteListAutoShare response
+func CreateModifyAccessWhiteListAutoShareResponse() (response *ModifyAccessWhiteListAutoShareResponse) {
+	response = &ModifyAccessWhiteListAutoShareResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/jarvis/modify_uid_white_list_auto_share.go

@@ -0,0 +1,110 @@
+package jarvis
+
+//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"
+)
+
+// ModifyUidWhiteListAutoShare invokes the jarvis.ModifyUidWhiteListAutoShare API synchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyuidwhitelistautoshare.html
+func (client *Client) ModifyUidWhiteListAutoShare(request *ModifyUidWhiteListAutoShareRequest) (response *ModifyUidWhiteListAutoShareResponse, err error) {
+	response = CreateModifyUidWhiteListAutoShareResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyUidWhiteListAutoShareWithChan invokes the jarvis.ModifyUidWhiteListAutoShare API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyuidwhitelistautoshare.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUidWhiteListAutoShareWithChan(request *ModifyUidWhiteListAutoShareRequest) (<-chan *ModifyUidWhiteListAutoShareResponse, <-chan error) {
+	responseChan := make(chan *ModifyUidWhiteListAutoShareResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyUidWhiteListAutoShare(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyUidWhiteListAutoShareWithCallback invokes the jarvis.ModifyUidWhiteListAutoShare API asynchronously
+// api document: https://help.aliyun.com/api/jarvis/modifyuidwhitelistautoshare.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyUidWhiteListAutoShareWithCallback(request *ModifyUidWhiteListAutoShareRequest, callback func(response *ModifyUidWhiteListAutoShareResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyUidWhiteListAutoShareResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyUidWhiteListAutoShare(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyUidWhiteListAutoShareRequest is the request struct for api ModifyUidWhiteListAutoShare
+type ModifyUidWhiteListAutoShareRequest struct {
+	*requests.RpcRequest
+	SourceIp      string           `position:"Query" name:"SourceIp"`
+	AutoConfig    requests.Integer `position:"Query" name:"AutoConfig"`
+	ProductName   string           `position:"Query" name:"ProductName"`
+	WhiteListType requests.Integer `position:"Query" name:"WhiteListType"`
+	Lang          string           `position:"Query" name:"Lang"`
+	SrcUid        string           `position:"Query" name:"SrcUid"`
+	SourceCode    string           `position:"Query" name:"SourceCode"`
+}
+
+// ModifyUidWhiteListAutoShareResponse is the response struct for api ModifyUidWhiteListAutoShare
+type ModifyUidWhiteListAutoShareResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Module    string `json:"Module" xml:"Module"`
+}
+
+// CreateModifyUidWhiteListAutoShareRequest creates a request to invoke ModifyUidWhiteListAutoShare API
+func CreateModifyUidWhiteListAutoShareRequest() (request *ModifyUidWhiteListAutoShareRequest) {
+	request = &ModifyUidWhiteListAutoShareRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("jarvis", "2018-02-06", "ModifyUidWhiteListAutoShare", "", "")
+	return
+}
+
+// CreateModifyUidWhiteListAutoShareResponse creates a response to parse from ModifyUidWhiteListAutoShare response
+func CreateModifyUidWhiteListAutoShareResponse() (response *ModifyUidWhiteListAutoShareResponse) {
+	response = &ModifyUidWhiteListAutoShareResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 39 - 0
services/jarvis/struct_data.go

@@ -0,0 +1,39 @@
+package jarvis
+
+//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 jarvis response
+type Data struct {
+	GmtExpire     string `json:"GmtExpire" xml:"GmtExpire"`
+	PunishCount   int    `json:"PunishCount" xml:"PunishCount"`
+	Protocol      string `json:"Protocol" xml:"Protocol"`
+	SrcIP         string `json:"SrcIP" xml:"SrcIP"`
+	SrcPort       int    `json:"SrcPort" xml:"SrcPort"`
+	DstPort       int    `json:"DstPort" xml:"DstPort"`
+	FeedBack      int    `json:"FeedBack" xml:"FeedBack"`
+	AutoConfig    int    `json:"AutoConfig" xml:"AutoConfig"`
+	Reason        string `json:"Reason" xml:"Reason"`
+	GmtCreate     string `json:"GmtCreate" xml:"GmtCreate"`
+	GroupId       int    `json:"GroupId" xml:"GroupId"`
+	PunishType    string `json:"PunishType" xml:"PunishType"`
+	RegionId      string `json:"RegionId" xml:"RegionId"`
+	PunishResult  string `json:"PunishResult" xml:"PunishResult"`
+	Status        string `json:"Status" xml:"Status"`
+	GmtRealExpire string `json:"GmtRealExpire" xml:"GmtRealExpire"`
+	SrcUid        string `json:"SrcUid" xml:"SrcUid"`
+	DstIP         string `json:"DstIP" xml:"DstIP"`
+	Items         []Item `json:"Items" xml:"Items"`
+}

+ 23 - 0
services/jarvis/struct_data_item.go

@@ -0,0 +1,23 @@
+package jarvis
+
+//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.
+
+// DataItem is a nested struct in jarvis response
+type DataItem struct {
+	UpdateTime     string `json:"UpdateTime" xml:"UpdateTime"`
+	NewRiskCount   int    `json:"NewRiskCount" xml:"NewRiskCount"`
+	TotalRiskCount int    `json:"TotalRiskCount" xml:"TotalRiskCount"`
+}

+ 21 - 0
services/jarvis/struct_data_list_in_describe_access_white_list_group.go

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

+ 21 - 0
services/jarvis/struct_data_list_in_describe_cpmc_punish_list.go

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

+ 21 - 0
services/jarvis/struct_data_list_in_describe_reset_record_list.go

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

+ 21 - 0
services/jarvis/struct_data_list_in_describe_risk_trend.go

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

+ 21 - 0
services/jarvis/struct_data_list_in_describe_uid_white_list_group.go

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

+ 23 - 0
services/jarvis/struct_ecs.go

@@ -0,0 +1,23 @@
+package jarvis
+
+//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.
+
+// Ecs is a nested struct in jarvis response
+type Ecs struct {
+	InstanceName string `json:"InstanceName" xml:"InstanceName"`
+	InstanceId   string `json:"InstanceId" xml:"InstanceId"`
+	IP           string `json:"IP" xml:"IP"`
+}

+ 21 - 0
services/jarvis/struct_ecs_list.go

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

+ 22 - 0
services/jarvis/struct_item.go

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

+ 21 - 0
services/jarvis/struct_items_in_describe_access_white_list_group.go

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

+ 21 - 0
services/jarvis/struct_items_in_describe_uid_white_list_group.go

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

+ 23 - 0
services/jarvis/struct_page_info.go

@@ -0,0 +1,23 @@
+package jarvis
+
+//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 jarvis response
+type PageInfo struct {
+	CurrentPage int `json:"currentPage" xml:"currentPage"`
+	Total       int `json:"total" xml:"total"`
+	PageSize    int `json:"pageSize" xml:"pageSize"`
+}

+ 21 - 0
services/jarvis/struct_product_list.go

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