Browse Source

JARVIS SDK Auto Released By Alibaba Cloud,Version:1.15.0

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
commit
78c5362219
31 changed files with 2070 additions and 0 deletions
  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
 2018-05-26 Version: 1.14.2
 1, Add new interface InstallCloudAssistant, support Cloud Assistant client installation.
 1, Add new interface InstallCloudAssistant, support Cloud Assistant client installation.
 2, Add new interface DescribeCloudAssistantStatus, support Cloud Assistant client status detection.
 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"`
+}