Przeglądaj źródła

由君石发起的AEGIS SDK自动发布, BUILD_ID=397, 版本号:0.11.4

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 lat temu
rodzic
commit
11fdb4bb42

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2018-02-07 Version: 0.11.4
+1, add the access interface of logs such as vulnerabilities, baselines, exceptions, etc.
+
 2018-02-06 Version: 0.11.3
 1, ModifyInstanceChargeType add instanceChargeType param, support prepay instance to postpay instance.
 2, ModifyPrepayInstanceSpec add operatorType param, support downgrade prepay ecs.

+ 67 - 0
services/aegis/client.go

@@ -0,0 +1,67 @@
+package aegis
+
+//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"
+)
+
+type Client struct {
+	sdk.Client
+}
+
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 100 - 0
services/aegis/create_instance.go

@@ -0,0 +1,100 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) CreateInstance(request *CreateInstanceRequest) (response *CreateInstanceResponse, err error) {
+	response = CreateCreateInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) CreateInstanceWithChan(request *CreateInstanceRequest) (<-chan *CreateInstanceResponse, <-chan error) {
+	responseChan := make(chan *CreateInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) CreateInstanceWithCallback(request *CreateInstanceRequest, callback func(response *CreateInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type CreateInstanceRequest struct {
+	*requests.RpcRequest
+	Duration          requests.Integer `position:"Query" name:"Duration"`
+	IsAutoRenew       requests.Boolean `position:"Query" name:"IsAutoRenew"`
+	ClientToken       string           `position:"Query" name:"ClientToken"`
+	VmNumber          requests.Integer `position:"Query" name:"VmNumber"`
+	OwnerId           requests.Integer `position:"Query" name:"OwnerId"`
+	VersionCode       requests.Integer `position:"Query" name:"VersionCode"`
+	PricingCycle      string           `position:"Query" name:"PricingCycle"`
+	AutoRenewDuration requests.Integer `position:"Query" name:"AutoRenewDuration"`
+}
+
+type CreateInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId    string `json:"OrderId" xml:"OrderId"`
+	InstanceId string `json:"InstanceId" xml:"InstanceId"`
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateCreateInstanceRequest() (request *CreateInstanceRequest) {
+	request = &CreateInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "CreateInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateCreateInstanceResponse() (response *CreateInstanceResponse) {
+	response = &CreateInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 93 - 0
services/aegis/delete_strategy.go

@@ -0,0 +1,93 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DeleteStrategy(request *DeleteStrategyRequest) (response *DeleteStrategyResponse, err error) {
+	response = CreateDeleteStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DeleteStrategyWithChan(request *DeleteStrategyRequest) (<-chan *DeleteStrategyResponse, <-chan error) {
+	responseChan := make(chan *DeleteStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DeleteStrategyWithCallback(request *DeleteStrategyRequest, callback func(response *DeleteStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DeleteStrategyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type DeleteStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateDeleteStrategyRequest() (request *DeleteStrategyRequest) {
+	request = &DeleteStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DeleteStrategy", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDeleteStrategyResponse() (response *DeleteStrategyResponse) {
+	response = &DeleteStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/describe_login_logs.go

@@ -0,0 +1,99 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeLoginLogs(request *DescribeLoginLogsRequest) (response *DescribeLoginLogsResponse, err error) {
+	response = CreateDescribeLoginLogsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeLoginLogsWithChan(request *DescribeLoginLogsRequest) (<-chan *DescribeLoginLogsResponse, <-chan error) {
+	responseChan := make(chan *DescribeLoginLogsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeLoginLogs(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeLoginLogsWithCallback(request *DescribeLoginLogsRequest, callback func(response *DescribeLoginLogsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeLoginLogsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeLoginLogs(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeLoginLogsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+}
+
+type DescribeLoginLogsResponse struct {
+	*responses.BaseResponse
+	RequestId      string   `json:"RequestId" xml:"RequestId"`
+	PageSize       int      `json:"PageSize" xml:"PageSize"`
+	CurrentPage    int      `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount     int      `json:"TotalCount" xml:"TotalCount"`
+	HttpStatusCode int      `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	LoginLogs      []string `json:"LoginLogs" xml:"LoginLogs"`
+}
+
+func CreateDescribeLoginLogsRequest() (request *DescribeLoginLogsRequest) {
+	request = &DescribeLoginLogsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeLoginLogs", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeLoginLogsResponse() (response *DescribeLoginLogsResponse) {
+	response = &DescribeLoginLogsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 101 - 0
services/aegis/describe_strategy_target.go

@@ -0,0 +1,101 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStrategyTarget(request *DescribeStrategyTargetRequest) (response *DescribeStrategyTargetResponse, err error) {
+	response = CreateDescribeStrategyTargetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStrategyTargetWithChan(request *DescribeStrategyTargetRequest) (<-chan *DescribeStrategyTargetResponse, <-chan error) {
+	responseChan := make(chan *DescribeStrategyTargetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStrategyTarget(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStrategyTargetWithCallback(request *DescribeStrategyTargetRequest, callback func(response *DescribeStrategyTargetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStrategyTargetResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStrategyTarget(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStrategyTargetRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Type            string           `position:"Query" name:"Type"`
+	Config          string           `position:"Query" name:"Config"`
+	Target          string           `position:"Query" name:"Target"`
+}
+
+type DescribeStrategyTargetResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Count           int    `json:"Count" xml:"Count"`
+	StrategyTargets []struct {
+		Flag       string `json:"Flag" xml:"Flag"`
+		Target     string `json:"Target" xml:"Target"`
+		TargetType string `json:"TargetType" xml:"TargetType"`
+	} `json:"StrategyTargets" xml:"StrategyTargets"`
+}
+
+func CreateDescribeStrategyTargetRequest() (request *DescribeStrategyTargetRequest) {
+	request = &DescribeStrategyTargetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStrategyTarget", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStrategyTargetResponse() (response *DescribeStrategyTargetResponse) {
+	response = &DescribeStrategyTargetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/aegis/describe_stratety.go

@@ -0,0 +1,107 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStratety(request *DescribeStratetyRequest) (response *DescribeStratetyResponse, err error) {
+	response = CreateDescribeStratetyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStratetyWithChan(request *DescribeStratetyRequest) (<-chan *DescribeStratetyResponse, <-chan error) {
+	responseChan := make(chan *DescribeStratetyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStratety(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStratetyWithCallback(request *DescribeStratetyRequest, callback func(response *DescribeStratetyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStratetyResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStratety(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStratetyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+}
+
+type DescribeStratetyResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	Count      int    `json:"Count" xml:"Count"`
+	Strategies []struct {
+		CycleDays      int    `json:"CycleDays" xml:"CycleDays"`
+		Id             int    `json:"Id" xml:"Id"`
+		CycleStartTime int    `json:"CycleStartTime" xml:"CycleStartTime"`
+		Type           int    `json:"Type" xml:"Type"`
+		Name           string `json:"Name" xml:"Name"`
+		RiskCount      int    `json:"RiskCount" xml:"RiskCount"`
+		EcsCount       int    `json:"EcsCount" xml:"EcsCount"`
+		ConfigTargets  []struct {
+			Flag       string `json:"Flag" xml:"Flag"`
+			TargetType string `json:"TargetType" xml:"TargetType"`
+			Target     string `json:"Target" xml:"Target"`
+		} `json:"ConfigTargets" xml:"ConfigTargets"`
+	} `json:"Strategies" xml:"Strategies"`
+}
+
+func CreateDescribeStratetyRequest() (request *DescribeStratetyRequest) {
+	request = &DescribeStratetyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStratety", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStratetyResponse() (response *DescribeStratetyResponse) {
+	response = &DescribeStratetyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/aegis/describe_stratety_detail.go

@@ -0,0 +1,110 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeStratetyDetail(request *DescribeStratetyDetailRequest) (response *DescribeStratetyDetailResponse, err error) {
+	response = CreateDescribeStratetyDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeStratetyDetailWithChan(request *DescribeStratetyDetailRequest) (<-chan *DescribeStratetyDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeStratetyDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStratetyDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeStratetyDetailWithCallback(request *DescribeStratetyDetailRequest, callback func(response *DescribeStratetyDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStratetyDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStratetyDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeStratetyDetailRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type DescribeStratetyDetailResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Strategy  struct {
+		CycleDays                        int    `json:"CycleDays" xml:"CycleDays"`
+		Name                             string `json:"Name" xml:"Name"`
+		Id                               int    `json:"Id" xml:"Id"`
+		CycleStartTime                   int    `json:"CycleStartTime" xml:"CycleStartTime"`
+		Type                             int    `json:"Type" xml:"Type"`
+		RiskTypeWhiteListQueryResultList []struct {
+			TypeName string `json:"TypeName" xml:"TypeName"`
+			Alias    string `json:"Alias" xml:"Alias"`
+			On       bool   `json:"On" xml:"On"`
+			SubTypes []struct {
+				TypeName string `json:"TypeName" xml:"TypeName"`
+				Alias    string `json:"Alias" xml:"Alias"`
+				On       bool   `json:"On" xml:"On"`
+			} `json:"SubTypes" xml:"SubTypes"`
+		} `json:"RiskTypeWhiteListQueryResultList" xml:"RiskTypeWhiteListQueryResultList"`
+	} `json:"Strategy" xml:"Strategy"`
+}
+
+func CreateDescribeStratetyDetailRequest() (request *DescribeStratetyDetailRequest) {
+	request = &DescribeStratetyDetailRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeStratetyDetail", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeStratetyDetailResponse() (response *DescribeStratetyDetailResponse) {
+	response = &DescribeStratetyDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/describe_suspicious_events.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeSuspiciousEvents(request *DescribeSuspiciousEventsRequest) (response *DescribeSuspiciousEventsResponse, err error) {
+	response = CreateDescribeSuspiciousEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeSuspiciousEventsWithChan(request *DescribeSuspiciousEventsRequest) (<-chan *DescribeSuspiciousEventsResponse, <-chan error) {
+	responseChan := make(chan *DescribeSuspiciousEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSuspiciousEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeSuspiciousEventsWithCallback(request *DescribeSuspiciousEventsRequest, callback func(response *DescribeSuspiciousEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSuspiciousEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSuspiciousEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeSuspiciousEventsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+}
+
+type DescribeSuspiciousEventsResponse struct {
+	*responses.BaseResponse
+	RequestId        string   `json:"RequestId" xml:"RequestId"`
+	PageSize         int      `json:"PageSize" xml:"PageSize"`
+	TotalCount       int      `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage      int      `json:"CurrentPage" xml:"CurrentPage"`
+	HttpStatusCode   int      `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	SuspiciousEvents []string `json:"SuspiciousEvents" xml:"SuspiciousEvents"`
+}
+
+func CreateDescribeSuspiciousEventsRequest() (request *DescribeSuspiciousEventsRequest) {
+	request = &DescribeSuspiciousEventsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeSuspiciousEvents", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeSuspiciousEventsResponse() (response *DescribeSuspiciousEventsResponse) {
+	response = &DescribeSuspiciousEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/aegis/describe_vul_details.go

@@ -0,0 +1,127 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeVulDetails(request *DescribeVulDetailsRequest) (response *DescribeVulDetailsResponse, err error) {
+	response = CreateDescribeVulDetailsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeVulDetailsWithChan(request *DescribeVulDetailsRequest) (<-chan *DescribeVulDetailsResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulDetailsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulDetails(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeVulDetailsWithCallback(request *DescribeVulDetailsRequest, callback func(response *DescribeVulDetailsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulDetailsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulDetails(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeVulDetailsRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Product         string           `position:"Query" name:"Product"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	Level           string           `position:"Query" name:"Level"`
+	Resource        string           `position:"Query" name:"Resource"`
+	OrderBy         string           `position:"Query" name:"OrderBy"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	Type            string           `position:"Query" name:"Type"`
+	LastTsEnd       requests.Integer `position:"Query" name:"LastTsEnd"`
+	BatchName       string           `position:"Query" name:"BatchName"`
+	PatchId         requests.Integer `position:"Query" name:"PatchId"`
+	AliasName       string           `position:"Query" name:"AliasName"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Name            string           `position:"Query" name:"Name"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	Lang            string           `position:"Query" name:"Lang"`
+	LastTsStart     requests.Integer `position:"Query" name:"LastTsStart"`
+	Necessity       string           `position:"Query" name:"Necessity"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	Direction       string           `position:"Query" name:"Direction"`
+}
+
+type DescribeVulDetailsResponse struct {
+	*responses.BaseResponse
+	RequestId      string   `json:"RequestId" xml:"RequestId"`
+	Name           string   `json:"Name" xml:"Name"`
+	AliasName      string   `json:"AliasName" xml:"AliasName"`
+	Level          string   `json:"Level" xml:"Level"`
+	VulPublishTs   int      `json:"VulPublishTs" xml:"VulPublishTs"`
+	Type           string   `json:"Type" xml:"Type"`
+	Product        string   `json:"Product" xml:"Product"`
+	HasPatch       bool     `json:"HasPatch" xml:"HasPatch"`
+	PatchPublishTs int      `json:"PatchPublishTs" xml:"PatchPublishTs"`
+	PatchSource    string   `json:"PatchSource" xml:"PatchSource"`
+	Cvss           string   `json:"Cvss" xml:"Cvss"`
+	CveIds         string   `json:"CveIds" xml:"CveIds"`
+	Advice         string   `json:"Advice" xml:"Advice"`
+	Description    string   `json:"Description" xml:"Description"`
+	PendingCount   int      `json:"PendingCount" xml:"PendingCount"`
+	HandledCount   int      `json:"HandledCount" xml:"HandledCount"`
+	CveLists       []string `json:"CveLists" xml:"CveLists"`
+}
+
+func CreateDescribeVulDetailsRequest() (request *DescribeVulDetailsRequest) {
+	request = &DescribeVulDetailsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeVulDetails", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeVulDetailsResponse() (response *DescribeVulDetailsResponse) {
+	response = &DescribeVulDetailsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 116 - 0
services/aegis/describe_vul_list.go

@@ -0,0 +1,116 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeVulList(request *DescribeVulListRequest) (response *DescribeVulListResponse, err error) {
+	response = CreateDescribeVulListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeVulListWithChan(request *DescribeVulListRequest) (<-chan *DescribeVulListResponse, <-chan error) {
+	responseChan := make(chan *DescribeVulListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeVulList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeVulListWithCallback(request *DescribeVulListRequest, callback func(response *DescribeVulListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeVulListResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeVulList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeVulListRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	Product         string           `position:"Query" name:"Product"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	Level           string           `position:"Query" name:"Level"`
+	Resource        string           `position:"Query" name:"Resource"`
+	OrderBy         string           `position:"Query" name:"OrderBy"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	Type            string           `position:"Query" name:"Type"`
+	LastTsEnd       requests.Integer `position:"Query" name:"LastTsEnd"`
+	BatchName       string           `position:"Query" name:"BatchName"`
+	PatchId         requests.Integer `position:"Query" name:"PatchId"`
+	AliasName       string           `position:"Query" name:"AliasName"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Name            string           `position:"Query" name:"Name"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	Lang            string           `position:"Query" name:"Lang"`
+	LastTsStart     requests.Integer `position:"Query" name:"LastTsStart"`
+	Necessity       string           `position:"Query" name:"Necessity"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+	Direction       string           `position:"Query" name:"Direction"`
+}
+
+type DescribeVulListResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Count       int      `json:"Count" xml:"Count"`
+	PageSize    int      `json:"PageSize" xml:"PageSize"`
+	CurrentPage int      `json:"CurrentPage" xml:"CurrentPage"`
+	TotalCount  int      `json:"TotalCount" xml:"TotalCount"`
+	VulRecords  []string `json:"VulRecords" xml:"VulRecords"`
+}
+
+func CreateDescribeVulListRequest() (request *DescribeVulListRequest) {
+	request = &DescribeVulListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeVulList", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeVulListResponse() (response *DescribeVulListResponse) {
+	response = &DescribeVulListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/aegis/describe_warning.go

@@ -0,0 +1,106 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeWarning(request *DescribeWarningRequest) (response *DescribeWarningResponse, err error) {
+	response = CreateDescribeWarningResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeWarningWithChan(request *DescribeWarningRequest) (<-chan *DescribeWarningResponse, <-chan error) {
+	responseChan := make(chan *DescribeWarningResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeWarning(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeWarningWithCallback(request *DescribeWarningRequest, callback func(response *DescribeWarningResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeWarningResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeWarning(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeWarningRequest struct {
+	*requests.RpcRequest
+	TypeNames       string           `position:"Query" name:"TypeNames"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	RiskName        string           `position:"Query" name:"RiskName"`
+	StatusList      string           `position:"Query" name:"StatusList"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	RiskLevels      string           `position:"Query" name:"RiskLevels"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	CurrentPage     requests.Integer `position:"Query" name:"CurrentPage"`
+	Dealed          string           `position:"Query" name:"Dealed"`
+	SubTypeNames    string           `position:"Query" name:"SubTypeNames"`
+	Uuids           string           `position:"Query" name:"Uuids"`
+}
+
+type DescribeWarningResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Count       int      `json:"Count" xml:"Count"`
+	PageSize    int      `json:"PageSize" xml:"PageSize"`
+	TotalCount  int      `json:"TotalCount" xml:"TotalCount"`
+	CurrentPage int      `json:"CurrentPage" xml:"CurrentPage"`
+	Warnings    []string `json:"Warnings" xml:"Warnings"`
+}
+
+func CreateDescribeWarningRequest() (request *DescribeWarningRequest) {
+	request = &DescribeWarningRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeWarning", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeWarningResponse() (response *DescribeWarningResponse) {
+	response = &DescribeWarningResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/describe_webshell.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) DescribeWebshell(request *DescribeWebshellRequest) (response *DescribeWebshellResponse, err error) {
+	response = CreateDescribeWebshellResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) DescribeWebshellWithChan(request *DescribeWebshellRequest) (<-chan *DescribeWebshellResponse, <-chan error) {
+	responseChan := make(chan *DescribeWebshellResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeWebshell(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) DescribeWebshellWithCallback(request *DescribeWebshellRequest, callback func(response *DescribeWebshellResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeWebshellResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeWebshell(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type DescribeWebshellRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	GroupId         requests.Integer `position:"Query" name:"GroupId"`
+	Remark          string           `position:"Query" name:"Remark"`
+}
+
+type DescribeWebshellResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	TotalCount  int    `json:"TotalCount" xml:"TotalCount"`
+	PageSize    int    `json:"PageSize" xml:"PageSize"`
+	CurrentPage int    `json:"CurrentPage" xml:"CurrentPage"`
+}
+
+func CreateDescribeWebshellRequest() (request *DescribeWebshellRequest) {
+	request = &DescribeWebshellRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "DescribeWebshell", "vipaegis", "openAPI")
+	return
+}
+
+func CreateDescribeWebshellResponse() (response *DescribeWebshellResponse) {
+	response = &DescribeWebshellResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 99 - 0
services/aegis/get_account_statistics.go

@@ -0,0 +1,99 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetAccountStatistics(request *GetAccountStatisticsRequest) (response *GetAccountStatisticsResponse, err error) {
+	response = CreateGetAccountStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetAccountStatisticsWithChan(request *GetAccountStatisticsRequest) (<-chan *GetAccountStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetAccountStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetAccountStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetAccountStatisticsWithCallback(request *GetAccountStatisticsRequest, callback func(response *GetAccountStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetAccountStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetAccountStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetAccountStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetAccountStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		RemoteLogin  int `json:"RemoteLogin" xml:"RemoteLogin"`
+		CrackSuccess int `json:"CrackSuccess" xml:"CrackSuccess"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetAccountStatisticsRequest() (request *GetAccountStatisticsRequest) {
+	request = &GetAccountStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetAccountStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetAccountStatisticsResponse() (response *GetAccountStatisticsResponse) {
+	response = &GetAccountStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 98 - 0
services/aegis/get_crack_statistics.go

@@ -0,0 +1,98 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetCrackStatistics(request *GetCrackStatisticsRequest) (response *GetCrackStatisticsResponse, err error) {
+	response = CreateGetCrackStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetCrackStatisticsWithChan(request *GetCrackStatisticsRequest) (<-chan *GetCrackStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetCrackStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetCrackStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetCrackStatisticsWithCallback(request *GetCrackStatisticsRequest, callback func(response *GetCrackStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetCrackStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetCrackStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetCrackStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetCrackStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		Intercepted int `json:"Intercepted" xml:"Intercepted"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetCrackStatisticsRequest() (request *GetCrackStatisticsRequest) {
+	request = &GetCrackStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetCrackStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetCrackStatisticsResponse() (response *GetCrackStatisticsResponse) {
+	response = &GetCrackStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/aegis/get_entity_list.go

@@ -0,0 +1,122 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetEntityList(request *GetEntityListRequest) (response *GetEntityListResponse, err error) {
+	response = CreateGetEntityListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetEntityListWithChan(request *GetEntityListRequest) (<-chan *GetEntityListResponse, <-chan error) {
+	responseChan := make(chan *GetEntityListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetEntityList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetEntityListWithCallback(request *GetEntityListRequest, callback func(response *GetEntityListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetEntityListResponse
+		var err error
+		defer close(result)
+		response, err = client.GetEntityList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetEntityListRequest struct {
+	*requests.RpcRequest
+	GroupId     requests.Integer `position:"Query" name:"GroupId"`
+	PageSize    requests.Integer `position:"Query" name:"PageSize"`
+	Remark      string           `position:"Query" name:"Remark"`
+	EventType   string           `position:"Query" name:"EventType"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	RegionNo    string           `position:"Query" name:"RegionNo"`
+}
+
+type GetEntityListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List struct {
+			Entity []struct {
+				Uuid         string `json:"Uuid" xml:"Uuid"`
+				GroupId      int    `json:"GroupId" xml:"GroupId"`
+				Ip           string `json:"Ip" xml:"Ip"`
+				InstanceName string `json:"InstanceName" xml:"InstanceName"`
+				InstanceId   string `json:"InstanceId" xml:"InstanceId"`
+				Region       string `json:"Region" xml:"Region"`
+				Os           string `json:"Os" xml:"Os"`
+				Flag         string `json:"Flag" xml:"Flag"`
+				BuyVersion   string `json:"BuyVersion" xml:"BuyVersion"`
+				AegisOnline  bool   `json:"AegisOnline" xml:"AegisOnline"`
+				AegisVersion string `json:"aegisVersion" xml:"aegisVersion"`
+			} `json:"Entity" xml:"Entity"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetEntityListRequest() (request *GetEntityListRequest) {
+	request = &GetEntityListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetEntityList", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetEntityListResponse() (response *GetEntityListResponse) {
+	response = &GetEntityListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 101 - 0
services/aegis/get_statistics.go

@@ -0,0 +1,101 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetStatistics(request *GetStatisticsRequest) (response *GetStatisticsResponse, err error) {
+	response = CreateGetStatisticsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsWithChan(request *GetStatisticsRequest) (<-chan *GetStatisticsResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatistics(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsWithCallback(request *GetStatisticsRequest, callback func(response *GetStatisticsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatistics(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsRequest struct {
+	*requests.RpcRequest
+	EndTime   string `position:"Query" name:"EndTime"`
+	StartTime string `position:"Query" name:"StartTime"`
+}
+
+type GetStatisticsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		Account int `json:"Account" xml:"Account"`
+		Health  int `json:"Health" xml:"Health"`
+		Patch   int `json:"Patch" xml:"Patch"`
+		Trojan  int `json:"Trojan" xml:"Trojan"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsRequest() (request *GetStatisticsRequest) {
+	request = &GetStatisticsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatistics", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetStatisticsResponse() (response *GetStatisticsResponse) {
+	response = &GetStatisticsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/aegis/get_statistics_by_uuid.go

@@ -0,0 +1,104 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) GetStatisticsByUuid(request *GetStatisticsByUuidRequest) (response *GetStatisticsByUuidResponse, err error) {
+	response = CreateGetStatisticsByUuidResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) GetStatisticsByUuidWithChan(request *GetStatisticsByUuidRequest) (<-chan *GetStatisticsByUuidResponse, <-chan error) {
+	responseChan := make(chan *GetStatisticsByUuidResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStatisticsByUuid(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) GetStatisticsByUuidWithCallback(request *GetStatisticsByUuidRequest, callback func(response *GetStatisticsByUuidResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStatisticsByUuidResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStatisticsByUuid(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type GetStatisticsByUuidRequest struct {
+	*requests.RpcRequest
+	Uuid string `position:"Query" name:"Uuid"`
+}
+
+type GetStatisticsByUuidResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		Entity []struct {
+			Uuid    string `json:"Uuid" xml:"Uuid"`
+			Account int    `json:"Account" xml:"Account"`
+			Health  int    `json:"Health" xml:"Health"`
+			Patch   int    `json:"Patch" xml:"Patch"`
+			Trojan  int    `json:"Trojan" xml:"Trojan"`
+			Online  bool   `json:"Online" xml:"Online"`
+		} `json:"Entity" xml:"Entity"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateGetStatisticsByUuidRequest() (request *GetStatisticsByUuidRequest) {
+	request = &GetStatisticsByUuidRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "GetStatisticsByUuid", "vipaegis", "openAPI")
+	return
+}
+
+func CreateGetStatisticsByUuidResponse() (response *GetStatisticsByUuidResponse) {
+	response = &GetStatisticsByUuidResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/modify_batch_ignore_vul.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyBatchIgnoreVul(request *ModifyBatchIgnoreVulRequest) (response *ModifyBatchIgnoreVulResponse, err error) {
+	response = CreateModifyBatchIgnoreVulResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyBatchIgnoreVulWithChan(request *ModifyBatchIgnoreVulRequest) (<-chan *ModifyBatchIgnoreVulResponse, <-chan error) {
+	responseChan := make(chan *ModifyBatchIgnoreVulResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyBatchIgnoreVul(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyBatchIgnoreVulWithCallback(request *ModifyBatchIgnoreVulRequest, callback func(response *ModifyBatchIgnoreVulResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyBatchIgnoreVulResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyBatchIgnoreVul(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyBatchIgnoreVulRequest struct {
+	*requests.RpcRequest
+	Reason          string           `position:"Query" name:"Reason"`
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Info            string           `position:"Query" name:"Info"`
+}
+
+type ModifyBatchIgnoreVulResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	Success        bool   `json:"Success" xml:"Success"`
+	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
+}
+
+func CreateModifyBatchIgnoreVulRequest() (request *ModifyBatchIgnoreVulRequest) {
+	request = &ModifyBatchIgnoreVulRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyBatchIgnoreVul", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyBatchIgnoreVulResponse() (response *ModifyBatchIgnoreVulResponse) {
+	response = &ModifyBatchIgnoreVulResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/aegis/modify_strategy.go

@@ -0,0 +1,103 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyStrategy(request *ModifyStrategyRequest) (response *ModifyStrategyResponse, err error) {
+	response = CreateModifyStrategyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyStrategyWithChan(request *ModifyStrategyRequest) (<-chan *ModifyStrategyResponse, <-chan error) {
+	responseChan := make(chan *ModifyStrategyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyStrategy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyStrategyWithCallback(request *ModifyStrategyRequest, callback func(response *ModifyStrategyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyStrategyResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyStrategy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyStrategyRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	RiskSubTypeName string           `position:"Query" name:"RiskSubTypeName"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	CycleStartTime  string           `position:"Query" name:"CycleStartTime"`
+	Name            string           `position:"Query" name:"Name"`
+	CycleDays       string           `position:"Query" name:"CycleDays"`
+	Id              string           `position:"Query" name:"Id"`
+}
+
+type ModifyStrategyResponse struct {
+	*responses.BaseResponse
+	RequestId      string `json:"RequestId" xml:"RequestId"`
+	Success        bool   `json:"Success" xml:"Success"`
+	TotalCount     int    `json:"TotalCount" xml:"TotalCount"`
+	HttpStatusCode int    `json:"HttpStatusCode" xml:"HttpStatusCode"`
+	Result         struct {
+		StrategyId int `json:"StrategyId" xml:"StrategyId"`
+	} `json:"Result" xml:"Result"`
+}
+
+func CreateModifyStrategyRequest() (request *ModifyStrategyRequest) {
+	request = &ModifyStrategyRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyStrategy", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyStrategyResponse() (response *ModifyStrategyResponse) {
+	response = &ModifyStrategyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 95 - 0
services/aegis/modify_strategy_target.go

@@ -0,0 +1,95 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ModifyStrategyTarget(request *ModifyStrategyTargetRequest) (response *ModifyStrategyTargetResponse, err error) {
+	response = CreateModifyStrategyTargetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ModifyStrategyTargetWithChan(request *ModifyStrategyTargetRequest) (<-chan *ModifyStrategyTargetResponse, <-chan error) {
+	responseChan := make(chan *ModifyStrategyTargetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyStrategyTarget(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ModifyStrategyTargetWithCallback(request *ModifyStrategyTargetRequest, callback func(response *ModifyStrategyTargetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyStrategyTargetResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyStrategyTarget(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ModifyStrategyTargetRequest struct {
+	*requests.RpcRequest
+	ResourceOwnerId requests.Integer `position:"Query" name:"ResourceOwnerId"`
+	SourceIp        string           `position:"Query" name:"SourceIp"`
+	Type            string           `position:"Query" name:"Type"`
+	Config          string           `position:"Query" name:"Config"`
+	Target          string           `position:"Query" name:"Target"`
+}
+
+type ModifyStrategyTargetResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateModifyStrategyTargetRequest() (request *ModifyStrategyTargetRequest) {
+	request = &ModifyStrategyTargetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ModifyStrategyTarget", "vipaegis", "openAPI")
+	return
+}
+
+func CreateModifyStrategyTargetResponse() (response *ModifyStrategyTargetResponse) {
+	response = &ModifyStrategyTargetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 127 - 0
services/aegis/query_crack_event.go

@@ -0,0 +1,127 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) QueryCrackEvent(request *QueryCrackEventRequest) (response *QueryCrackEventResponse, err error) {
+	response = CreateQueryCrackEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryCrackEventWithChan(request *QueryCrackEventRequest) (<-chan *QueryCrackEventResponse, <-chan error) {
+	responseChan := make(chan *QueryCrackEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryCrackEvent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryCrackEventWithCallback(request *QueryCrackEventRequest, callback func(response *QueryCrackEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryCrackEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryCrackEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryCrackEventRequest struct {
+	*requests.RpcRequest
+	EndTime     string           `position:"Query" name:"EndTime"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	Uuid        string           `position:"Query" name:"Uuid"`
+	Status      requests.Integer `position:"Query" name:"Status"`
+}
+
+type QueryCrackEventResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List struct {
+			Entity []struct {
+				Uuid           string `json:"Uuid" xml:"Uuid"`
+				AttackTime     string `json:"AttackTime" xml:"AttackTime"`
+				AttackType     int    `json:"AttackType" xml:"AttackType"`
+				AttackTypeName string `json:"AttackTypeName" xml:"AttackTypeName"`
+				BuyVersion     string `json:"BuyVersion" xml:"BuyVersion"`
+				CrackSourceIp  string `json:"CrackSourceIp" xml:"CrackSourceIp"`
+				CrackTimes     int    `json:"CrackTimes" xml:"CrackTimes"`
+				GroupId        int    `json:"GroupId" xml:"GroupId"`
+				InstanceName   string `json:"InstanceName" xml:"InstanceName"`
+				InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+				Ip             string `json:"Ip" xml:"Ip"`
+				Region         string `json:"Region" xml:"Region"`
+				Status         int    `json:"Status" xml:"Status"`
+				StatusName     string `json:"StatusName" xml:"StatusName"`
+				Location       string `json:"Location" xml:"Location"`
+				InWhite        int    `json:"InWhite" xml:"InWhite"`
+				UserName       string `json:"UserName" xml:"UserName"`
+			} `json:"Entity" xml:"Entity"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryCrackEventRequest() (request *QueryCrackEventRequest) {
+	request = &QueryCrackEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryCrackEvent", "vipaegis", "openAPI")
+	return
+}
+
+func CreateQueryCrackEventResponse() (response *QueryCrackEventResponse) {
+	response = &QueryCrackEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 125 - 0
services/aegis/query_login_event.go

@@ -0,0 +1,125 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) QueryLoginEvent(request *QueryLoginEventRequest) (response *QueryLoginEventResponse, err error) {
+	response = CreateQueryLoginEventResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) QueryLoginEventWithChan(request *QueryLoginEventRequest) (<-chan *QueryLoginEventResponse, <-chan error) {
+	responseChan := make(chan *QueryLoginEventResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.QueryLoginEvent(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) QueryLoginEventWithCallback(request *QueryLoginEventRequest, callback func(response *QueryLoginEventResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *QueryLoginEventResponse
+		var err error
+		defer close(result)
+		response, err = client.QueryLoginEvent(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type QueryLoginEventRequest struct {
+	*requests.RpcRequest
+	EndTime     string           `position:"Query" name:"EndTime"`
+	CurrentPage requests.Integer `position:"Query" name:"CurrentPage"`
+	StartTime   string           `position:"Query" name:"StartTime"`
+	Uuid        string           `position:"Query" name:"Uuid"`
+	Status      requests.Integer `position:"Query" name:"Status"`
+}
+
+type QueryLoginEventResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"requestId" xml:"requestId"`
+	Code      string `json:"Code" xml:"Code"`
+	Success   bool   `json:"Success" xml:"Success"`
+	Message   string `json:"Message" xml:"Message"`
+	Data      struct {
+		PageInfo struct {
+			CurrentPage int `json:"CurrentPage" xml:"CurrentPage"`
+			PageSize    int `json:"PageSize" xml:"PageSize"`
+			TotalCount  int `json:"TotalCount" xml:"TotalCount"`
+			Count       int `json:"Count" xml:"Count"`
+		} `json:"PageInfo" xml:"PageInfo"`
+		List struct {
+			Entity []struct {
+				Uuid          string `json:"Uuid" xml:"Uuid"`
+				LoginTime     string `json:"LoginTime" xml:"LoginTime"`
+				LoginType     int    `json:"LoginType" xml:"LoginType"`
+				LoginTypeName string `json:"LoginTypeName" xml:"LoginTypeName"`
+				BuyVersion    string `json:"BuyVersion" xml:"BuyVersion"`
+				LoginSourceIp string `json:"LoginSourceIp" xml:"LoginSourceIp"`
+				GroupId       int    `json:"GroupId" xml:"GroupId"`
+				InstanceName  string `json:"InstanceName" xml:"InstanceName"`
+				InstanceId    string `json:"InstanceId" xml:"InstanceId"`
+				Ip            string `json:"Ip" xml:"Ip"`
+				Region        string `json:"Region" xml:"Region"`
+				Status        int    `json:"Status" xml:"Status"`
+				StatusName    string `json:"StatusName" xml:"StatusName"`
+				Location      string `json:"Location" xml:"Location"`
+				UserName      string `json:"UserName" xml:"UserName"`
+			} `json:"Entity" xml:"Entity"`
+		} `json:"List" xml:"List"`
+	} `json:"Data" xml:"Data"`
+}
+
+func CreateQueryLoginEventRequest() (request *QueryLoginEventRequest) {
+	request = &QueryLoginEventRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "QueryLoginEvent", "vipaegis", "openAPI")
+	return
+}
+
+func CreateQueryLoginEventResponse() (response *QueryLoginEventResponse) {
+	response = &QueryLoginEventResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 92 - 0
services/aegis/release_instance.go

@@ -0,0 +1,92 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) ReleaseInstance(request *ReleaseInstanceRequest) (response *ReleaseInstanceResponse, err error) {
+	response = CreateReleaseInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) ReleaseInstanceWithChan(request *ReleaseInstanceRequest) (<-chan *ReleaseInstanceResponse, <-chan error) {
+	responseChan := make(chan *ReleaseInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ReleaseInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) ReleaseInstanceWithCallback(request *ReleaseInstanceRequest, callback func(response *ReleaseInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ReleaseInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.ReleaseInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type ReleaseInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	OwnerId    requests.Integer `position:"Query" name:"OwnerId"`
+}
+
+type ReleaseInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateReleaseInstanceRequest() (request *ReleaseInstanceRequest) {
+	request = &ReleaseInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "ReleaseInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateReleaseInstanceResponse() (response *ReleaseInstanceResponse) {
+	response = &ReleaseInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 97 - 0
services/aegis/renew_instance.go

@@ -0,0 +1,97 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) RenewInstance(request *RenewInstanceRequest) (response *RenewInstanceResponse, err error) {
+	response = CreateRenewInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) RenewInstanceWithChan(request *RenewInstanceRequest) (<-chan *RenewInstanceResponse, <-chan error) {
+	responseChan := make(chan *RenewInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RenewInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) RenewInstanceWithCallback(request *RenewInstanceRequest, callback func(response *RenewInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RenewInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RenewInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type RenewInstanceRequest struct {
+	*requests.RpcRequest
+	Duration     requests.Integer `position:"Query" name:"Duration"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	ClientToken  string           `position:"Query" name:"ClientToken"`
+	VmNumber     string           `position:"Query" name:"VmNumber"`
+	OwnerId      requests.Integer `position:"Query" name:"OwnerId"`
+	PricingCycle string           `position:"Query" name:"PricingCycle"`
+}
+
+type RenewInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateRenewInstanceRequest() (request *RenewInstanceRequest) {
+	request = &RenewInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "RenewInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateRenewInstanceResponse() (response *RenewInstanceResponse) {
+	response = &RenewInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 96 - 0
services/aegis/upgrade_instance.go

@@ -0,0 +1,96 @@
+package aegis
+
+//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"
+)
+
+func (client *Client) UpgradeInstance(request *UpgradeInstanceRequest) (response *UpgradeInstanceResponse, err error) {
+	response = CreateUpgradeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+func (client *Client) UpgradeInstanceWithChan(request *UpgradeInstanceRequest) (<-chan *UpgradeInstanceResponse, <-chan error) {
+	responseChan := make(chan *UpgradeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpgradeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+func (client *Client) UpgradeInstanceWithCallback(request *UpgradeInstanceRequest, callback func(response *UpgradeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpgradeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.UpgradeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+type UpgradeInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	ClientToken string           `position:"Query" name:"ClientToken"`
+	VmNumber    requests.Integer `position:"Query" name:"VmNumber"`
+	OwnerId     requests.Integer `position:"Query" name:"OwnerId"`
+	VersionCode requests.Integer `position:"Query" name:"VersionCode"`
+}
+
+type UpgradeInstanceResponse struct {
+	*responses.BaseResponse
+	OrderId   string `json:"OrderId" xml:"OrderId"`
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+func CreateUpgradeInstanceRequest() (request *UpgradeInstanceRequest) {
+	request = &UpgradeInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("aegis", "2016-11-11", "UpgradeInstance", "vipaegis", "openAPI")
+	return
+}
+
+func CreateUpgradeInstanceResponse() (response *UpgradeInstanceResponse) {
+	response = &UpgradeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}