Browse Source

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

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 7 years ago
parent
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
 2018-02-06 Version: 0.11.3
 1, ModifyInstanceChargeType add instanceChargeType param, support prepay instance to postpay instance.
 1, ModifyInstanceChargeType add instanceChargeType param, support prepay instance to postpay instance.
 2, ModifyPrepayInstanceSpec add operatorType param, support downgrade prepay ecs.
 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
+}