浏览代码

Generated 2018-07-13 for Ft.

sdk-team 5 年之前
父节点
当前提交
35bbccd184

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2020-02-24 Version: v1.61.2
+- Generated 2018-07-13 for `Ft`.
+- Release Ft SDK.
+
 2020-02-24 Version: v1.61.1
 - Add PATCH into requests.
 

+ 108 - 0
services/ft/batch_audit_test01.go

@@ -0,0 +1,108 @@
+package ft
+
+//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"
+)
+
+// BatchAuditTest01 invokes the ft.BatchAuditTest01 API synchronously
+// api document: https://help.aliyun.com/api/ft/batchaudittest01.html
+func (client *Client) BatchAuditTest01(request *BatchAuditTest01Request) (response *BatchAuditTest01Response, err error) {
+	response = CreateBatchAuditTest01Response()
+	err = client.DoAction(request, response)
+	return
+}
+
+// BatchAuditTest01WithChan invokes the ft.BatchAuditTest01 API asynchronously
+// api document: https://help.aliyun.com/api/ft/batchaudittest01.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchAuditTest01WithChan(request *BatchAuditTest01Request) (<-chan *BatchAuditTest01Response, <-chan error) {
+	responseChan := make(chan *BatchAuditTest01Response, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.BatchAuditTest01(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// BatchAuditTest01WithCallback invokes the ft.BatchAuditTest01 API asynchronously
+// api document: https://help.aliyun.com/api/ft/batchaudittest01.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) BatchAuditTest01WithCallback(request *BatchAuditTest01Request, callback func(response *BatchAuditTest01Response, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *BatchAuditTest01Response
+		var err error
+		defer close(result)
+		response, err = client.BatchAuditTest01(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// BatchAuditTest01Request is the request struct for api BatchAuditTest01
+type BatchAuditTest01Request struct {
+	*requests.RpcRequest
+	Demo01           string           `position:"Query" name:"Demo01"`
+	Test010101       requests.Boolean `position:"Body" name:"Test010101"`
+	Name             string           `position:"Query" name:"Name"`
+	BatchAuditTest01 string           `position:"Query" name:"BatchAuditTest01"`
+}
+
+// BatchAuditTest01Response is the response struct for api BatchAuditTest01
+type BatchAuditTest01Response struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Name      string `json:"Name" xml:"Name"`
+	Demo01    Demo01 `json:"Demo01" xml:"Demo01"`
+}
+
+// CreateBatchAuditTest01Request creates a request to invoke BatchAuditTest01 API
+func CreateBatchAuditTest01Request() (request *BatchAuditTest01Request) {
+	request = &BatchAuditTest01Request{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "BatchAuditTest01", "", "")
+	return
+}
+
+// CreateBatchAuditTest01Response creates a response to parse from BatchAuditTest01 response
+func CreateBatchAuditTest01Response() (response *BatchAuditTest01Response) {
+	response = &BatchAuditTest01Response{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ft/client.go

@@ -0,0 +1,104 @@
+package ft
+
+//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"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 104 - 0
services/ft/ft_api_alias_api.go

@@ -0,0 +1,104 @@
+package ft
+
+//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"
+)
+
+// FTApiAliasApi invokes the ft.FTApiAliasApi API synchronously
+// api document: https://help.aliyun.com/api/ft/ftapialiasapi.html
+func (client *Client) FTApiAliasApi(request *FTApiAliasApiRequest) (response *FTApiAliasApiResponse, err error) {
+	response = CreateFTApiAliasApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FTApiAliasApiWithChan invokes the ft.FTApiAliasApi API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftapialiasapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FTApiAliasApiWithChan(request *FTApiAliasApiRequest) (<-chan *FTApiAliasApiResponse, <-chan error) {
+	responseChan := make(chan *FTApiAliasApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FTApiAliasApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FTApiAliasApiWithCallback invokes the ft.FTApiAliasApi API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftapialiasapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FTApiAliasApiWithCallback(request *FTApiAliasApiRequest, callback func(response *FTApiAliasApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FTApiAliasApiResponse
+		var err error
+		defer close(result)
+		response, err = client.FTApiAliasApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FTApiAliasApiRequest is the request struct for api FTApiAliasApi
+type FTApiAliasApiRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// FTApiAliasApiResponse is the response struct for api FTApiAliasApi
+type FTApiAliasApiResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Name      string `json:"Name" xml:"Name"`
+}
+
+// CreateFTApiAliasApiRequest creates a request to invoke FTApiAliasApi API
+func CreateFTApiAliasApiRequest() (request *FTApiAliasApiRequest) {
+	request = &FTApiAliasApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FTApiAliasApi", "", "")
+	return
+}
+
+// CreateFTApiAliasApiResponse creates a response to parse from FTApiAliasApi response
+func CreateFTApiAliasApiResponse() (response *FTApiAliasApiResponse) {
+	response = &FTApiAliasApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/ft/ft_dynamic_address_dubbo.go

@@ -0,0 +1,106 @@
+package ft
+
+//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"
+)
+
+// FtDynamicAddressDubbo invokes the ft.FtDynamicAddressDubbo API synchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddressdubbo.html
+func (client *Client) FtDynamicAddressDubbo(request *FtDynamicAddressDubboRequest) (response *FtDynamicAddressDubboResponse, err error) {
+	response = CreateFtDynamicAddressDubboResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtDynamicAddressDubboWithChan invokes the ft.FtDynamicAddressDubbo API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddressdubbo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtDynamicAddressDubboWithChan(request *FtDynamicAddressDubboRequest) (<-chan *FtDynamicAddressDubboResponse, <-chan error) {
+	responseChan := make(chan *FtDynamicAddressDubboResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtDynamicAddressDubbo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtDynamicAddressDubboWithCallback invokes the ft.FtDynamicAddressDubbo API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddressdubbo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtDynamicAddressDubboWithCallback(request *FtDynamicAddressDubboRequest, callback func(response *FtDynamicAddressDubboResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtDynamicAddressDubboResponse
+		var err error
+		defer close(result)
+		response, err = client.FtDynamicAddressDubbo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtDynamicAddressDubboRequest is the request struct for api FtDynamicAddressDubbo
+type FtDynamicAddressDubboRequest struct {
+	*requests.RpcRequest
+	IntValue    requests.Integer `position:"Query" name:"IntValue"`
+	StringValue string           `position:"Query" name:"StringValue"`
+}
+
+// FtDynamicAddressDubboResponse is the response struct for api FtDynamicAddressDubbo
+type FtDynamicAddressDubboResponse struct {
+	*responses.BaseResponse
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	StringValue string `json:"StringValue" xml:"StringValue"`
+	IntValue    int    `json:"IntValue" xml:"IntValue"`
+}
+
+// CreateFtDynamicAddressDubboRequest creates a request to invoke FtDynamicAddressDubbo API
+func CreateFtDynamicAddressDubboRequest() (request *FtDynamicAddressDubboRequest) {
+	request = &FtDynamicAddressDubboRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtDynamicAddressDubbo", "", "")
+	return
+}
+
+// CreateFtDynamicAddressDubboResponse creates a response to parse from FtDynamicAddressDubbo response
+func CreateFtDynamicAddressDubboResponse() (response *FtDynamicAddressDubboResponse) {
+	response = &FtDynamicAddressDubboResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ft/ft_dynamic_address_hsf.go

@@ -0,0 +1,102 @@
+package ft
+
+//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"
+)
+
+// FtDynamicAddressHsf invokes the ft.FtDynamicAddressHsf API synchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddresshsf.html
+func (client *Client) FtDynamicAddressHsf(request *FtDynamicAddressHsfRequest) (response *FtDynamicAddressHsfResponse, err error) {
+	response = CreateFtDynamicAddressHsfResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtDynamicAddressHsfWithChan invokes the ft.FtDynamicAddressHsf API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddresshsf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtDynamicAddressHsfWithChan(request *FtDynamicAddressHsfRequest) (<-chan *FtDynamicAddressHsfResponse, <-chan error) {
+	responseChan := make(chan *FtDynamicAddressHsfResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtDynamicAddressHsf(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtDynamicAddressHsfWithCallback invokes the ft.FtDynamicAddressHsf API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftdynamicaddresshsf.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtDynamicAddressHsfWithCallback(request *FtDynamicAddressHsfRequest, callback func(response *FtDynamicAddressHsfResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtDynamicAddressHsfResponse
+		var err error
+		defer close(result)
+		response, err = client.FtDynamicAddressHsf(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtDynamicAddressHsfRequest is the request struct for api FtDynamicAddressHsf
+type FtDynamicAddressHsfRequest struct {
+	*requests.RpcRequest
+}
+
+// FtDynamicAddressHsfResponse is the response struct for api FtDynamicAddressHsf
+type FtDynamicAddressHsfResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateFtDynamicAddressHsfRequest creates a request to invoke FtDynamicAddressHsf API
+func CreateFtDynamicAddressHsfRequest() (request *FtDynamicAddressHsfRequest) {
+	request = &FtDynamicAddressHsfRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtDynamicAddressHsf", "", "")
+	return
+}
+
+// CreateFtDynamicAddressHsfResponse creates a response to parse from FtDynamicAddressHsf response
+func CreateFtDynamicAddressHsfResponse() (response *FtDynamicAddressHsfResponse) {
+	response = &FtDynamicAddressHsfResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ft/ft_eagle_eye.go

@@ -0,0 +1,105 @@
+package ft
+
+//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"
+)
+
+// FtEagleEye invokes the ft.FtEagleEye API synchronously
+// api document: https://help.aliyun.com/api/ft/fteagleeye.html
+func (client *Client) FtEagleEye(request *FtEagleEyeRequest) (response *FtEagleEyeResponse, err error) {
+	response = CreateFtEagleEyeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtEagleEyeWithChan invokes the ft.FtEagleEye API asynchronously
+// api document: https://help.aliyun.com/api/ft/fteagleeye.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtEagleEyeWithChan(request *FtEagleEyeRequest) (<-chan *FtEagleEyeResponse, <-chan error) {
+	responseChan := make(chan *FtEagleEyeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtEagleEye(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtEagleEyeWithCallback invokes the ft.FtEagleEye API asynchronously
+// api document: https://help.aliyun.com/api/ft/fteagleeye.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtEagleEyeWithCallback(request *FtEagleEyeRequest, callback func(response *FtEagleEyeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtEagleEyeResponse
+		var err error
+		defer close(result)
+		response, err = client.FtEagleEye(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtEagleEyeRequest is the request struct for api FtEagleEye
+type FtEagleEyeRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// FtEagleEyeResponse is the response struct for api FtEagleEye
+type FtEagleEyeResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	Name            string `json:"Name" xml:"Name"`
+	EagleEyeTraceId string `json:"eagleEyeTraceId" xml:"eagleEyeTraceId"`
+}
+
+// CreateFtEagleEyeRequest creates a request to invoke FtEagleEye API
+func CreateFtEagleEyeRequest() (request *FtEagleEyeRequest) {
+	request = &FtEagleEyeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtEagleEye", "", "")
+	return
+}
+
+// CreateFtEagleEyeResponse creates a response to parse from FtEagleEye response
+func CreateFtEagleEyeResponse() (response *FtEagleEyeResponse) {
+	response = &FtEagleEyeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ft/ft_flow_special.go

@@ -0,0 +1,104 @@
+package ft
+
+//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"
+)
+
+// FtFlowSpecial invokes the ft.FtFlowSpecial API synchronously
+// api document: https://help.aliyun.com/api/ft/ftflowspecial.html
+func (client *Client) FtFlowSpecial(request *FtFlowSpecialRequest) (response *FtFlowSpecialResponse, err error) {
+	response = CreateFtFlowSpecialResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtFlowSpecialWithChan invokes the ft.FtFlowSpecial API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftflowspecial.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtFlowSpecialWithChan(request *FtFlowSpecialRequest) (<-chan *FtFlowSpecialResponse, <-chan error) {
+	responseChan := make(chan *FtFlowSpecialResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtFlowSpecial(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtFlowSpecialWithCallback invokes the ft.FtFlowSpecial API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftflowspecial.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtFlowSpecialWithCallback(request *FtFlowSpecialRequest, callback func(response *FtFlowSpecialResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtFlowSpecialResponse
+		var err error
+		defer close(result)
+		response, err = client.FtFlowSpecial(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtFlowSpecialRequest is the request struct for api FtFlowSpecial
+type FtFlowSpecialRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// FtFlowSpecialResponse is the response struct for api FtFlowSpecial
+type FtFlowSpecialResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Name      string `json:"Name" xml:"Name"`
+}
+
+// CreateFtFlowSpecialRequest creates a request to invoke FtFlowSpecial API
+func CreateFtFlowSpecialRequest() (request *FtFlowSpecialRequest) {
+	request = &FtFlowSpecialRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtFlowSpecial", "", "")
+	return
+}
+
+// CreateFtFlowSpecialResponse creates a response to parse from FtFlowSpecial response
+func CreateFtFlowSpecialResponse() (response *FtFlowSpecialResponse) {
+	response = &FtFlowSpecialResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ft/ft_gated_launch_policy4.go

@@ -0,0 +1,104 @@
+package ft
+
+//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"
+)
+
+// FtGatedLaunchPolicy4 invokes the ft.FtGatedLaunchPolicy4 API synchronously
+// api document: https://help.aliyun.com/api/ft/ftgatedlaunchpolicy4.html
+func (client *Client) FtGatedLaunchPolicy4(request *FtGatedLaunchPolicy4Request) (response *FtGatedLaunchPolicy4Response, err error) {
+	response = CreateFtGatedLaunchPolicy4Response()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtGatedLaunchPolicy4WithChan invokes the ft.FtGatedLaunchPolicy4 API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftgatedlaunchpolicy4.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtGatedLaunchPolicy4WithChan(request *FtGatedLaunchPolicy4Request) (<-chan *FtGatedLaunchPolicy4Response, <-chan error) {
+	responseChan := make(chan *FtGatedLaunchPolicy4Response, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtGatedLaunchPolicy4(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtGatedLaunchPolicy4WithCallback invokes the ft.FtGatedLaunchPolicy4 API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftgatedlaunchpolicy4.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtGatedLaunchPolicy4WithCallback(request *FtGatedLaunchPolicy4Request, callback func(response *FtGatedLaunchPolicy4Response, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtGatedLaunchPolicy4Response
+		var err error
+		defer close(result)
+		response, err = client.FtGatedLaunchPolicy4(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtGatedLaunchPolicy4Request is the request struct for api FtGatedLaunchPolicy4
+type FtGatedLaunchPolicy4Request struct {
+	*requests.RpcRequest
+	IsGatedLaunch string `position:"Query" name:"IsGatedLaunch"`
+}
+
+// FtGatedLaunchPolicy4Response is the response struct for api FtGatedLaunchPolicy4
+type FtGatedLaunchPolicy4Response struct {
+	*responses.BaseResponse
+	RequestId     string `json:"RequestId" xml:"RequestId"`
+	IsGatedLaunch string `json:"IsGatedLaunch" xml:"IsGatedLaunch"`
+}
+
+// CreateFtGatedLaunchPolicy4Request creates a request to invoke FtGatedLaunchPolicy4 API
+func CreateFtGatedLaunchPolicy4Request() (request *FtGatedLaunchPolicy4Request) {
+	request = &FtGatedLaunchPolicy4Request{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtGatedLaunchPolicy4", "", "")
+	return
+}
+
+// CreateFtGatedLaunchPolicy4Response creates a response to parse from FtGatedLaunchPolicy4 response
+func CreateFtGatedLaunchPolicy4Response() (response *FtGatedLaunchPolicy4Response) {
+	response = &FtGatedLaunchPolicy4Response{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ft/ft_ip_flow_control.go

@@ -0,0 +1,104 @@
+package ft
+
+//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"
+)
+
+// FtIpFlowControl invokes the ft.FtIpFlowControl API synchronously
+// api document: https://help.aliyun.com/api/ft/ftipflowcontrol.html
+func (client *Client) FtIpFlowControl(request *FtIpFlowControlRequest) (response *FtIpFlowControlResponse, err error) {
+	response = CreateFtIpFlowControlResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtIpFlowControlWithChan invokes the ft.FtIpFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftipflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtIpFlowControlWithChan(request *FtIpFlowControlRequest) (<-chan *FtIpFlowControlResponse, <-chan error) {
+	responseChan := make(chan *FtIpFlowControlResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtIpFlowControl(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtIpFlowControlWithCallback invokes the ft.FtIpFlowControl API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftipflowcontrol.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtIpFlowControlWithCallback(request *FtIpFlowControlRequest, callback func(response *FtIpFlowControlResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtIpFlowControlResponse
+		var err error
+		defer close(result)
+		response, err = client.FtIpFlowControl(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtIpFlowControlRequest is the request struct for api FtIpFlowControl
+type FtIpFlowControlRequest struct {
+	*requests.RpcRequest
+	Name string `position:"Query" name:"Name"`
+}
+
+// FtIpFlowControlResponse is the response struct for api FtIpFlowControl
+type FtIpFlowControlResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Name      string `json:"Name" xml:"Name"`
+}
+
+// CreateFtIpFlowControlRequest creates a request to invoke FtIpFlowControl API
+func CreateFtIpFlowControlRequest() (request *FtIpFlowControlRequest) {
+	request = &FtIpFlowControlRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtIpFlowControl", "", "")
+	return
+}
+
+// CreateFtIpFlowControlResponse creates a response to parse from FtIpFlowControl response
+func CreateFtIpFlowControlResponse() (response *FtIpFlowControlResponse) {
+	response = &FtIpFlowControlResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/ft/ft_param_list.go

@@ -0,0 +1,111 @@
+package ft
+
+//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"
+)
+
+// FtParamList invokes the ft.FtParamList API synchronously
+// api document: https://help.aliyun.com/api/ft/ftparamlist.html
+func (client *Client) FtParamList(request *FtParamListRequest) (response *FtParamListResponse, err error) {
+	response = CreateFtParamListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// FtParamListWithChan invokes the ft.FtParamList API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftparamlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtParamListWithChan(request *FtParamListRequest) (<-chan *FtParamListResponse, <-chan error) {
+	responseChan := make(chan *FtParamListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.FtParamList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// FtParamListWithCallback invokes the ft.FtParamList API asynchronously
+// api document: https://help.aliyun.com/api/ft/ftparamlist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) FtParamListWithCallback(request *FtParamListRequest, callback func(response *FtParamListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *FtParamListResponse
+		var err error
+		defer close(result)
+		response, err = client.FtParamList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// FtParamListRequest is the request struct for api FtParamList
+type FtParamListRequest struct {
+	*requests.RpcRequest
+	Disk *[]FtParamListDisk `position:"Query" name:"Disk"  type:"Repeated"`
+	Name string             `position:"Query" name:"Name"`
+}
+
+// FtParamListDisk is a repeated param struct in FtParamListRequest
+type FtParamListDisk struct {
+	Size *[]string `name:"Size" type:"Repeated"`
+	Type *[]string `name:"Type" type:"Repeated"`
+}
+
+// FtParamListResponse is the response struct for api FtParamList
+type FtParamListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Name      string `json:"Name" xml:"Name"`
+}
+
+// CreateFtParamListRequest creates a request to invoke FtParamList API
+func CreateFtParamListRequest() (request *FtParamListRequest) {
+	request = &FtParamListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "FtParamList", "", "")
+	return
+}
+
+// CreateFtParamListResponse creates a response to parse from FtParamList response
+func CreateFtParamListResponse() (response *FtParamListResponse) {
+	response = &FtParamListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 21 - 0
services/ft/struct_demo01.go

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

+ 21 - 0
services/ft/struct_demo011.go

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

+ 21 - 0
services/ft/struct_demo011_item.go

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

+ 107 - 0
services/ft/test_http_api.go

@@ -0,0 +1,107 @@
+package ft
+
+//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"
+)
+
+// TestHttpApi invokes the ft.TestHttpApi API synchronously
+// api document: https://help.aliyun.com/api/ft/testhttpapi.html
+func (client *Client) TestHttpApi(request *TestHttpApiRequest) (response *TestHttpApiResponse, err error) {
+	response = CreateTestHttpApiResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// TestHttpApiWithChan invokes the ft.TestHttpApi API asynchronously
+// api document: https://help.aliyun.com/api/ft/testhttpapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TestHttpApiWithChan(request *TestHttpApiRequest) (<-chan *TestHttpApiResponse, <-chan error) {
+	responseChan := make(chan *TestHttpApiResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.TestHttpApi(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// TestHttpApiWithCallback invokes the ft.TestHttpApi API asynchronously
+// api document: https://help.aliyun.com/api/ft/testhttpapi.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TestHttpApiWithCallback(request *TestHttpApiRequest, callback func(response *TestHttpApiResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *TestHttpApiResponse
+		var err error
+		defer close(result)
+		response, err = client.TestHttpApi(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// TestHttpApiRequest is the request struct for api TestHttpApi
+type TestHttpApiRequest struct {
+	*requests.RpcRequest
+	StringValue  string           `position:"Query" name:"StringValue"`
+	OtherParam   string           `position:"Query" name:"OtherParam"`
+	BooleanParam requests.Boolean `position:"Query" name:"BooleanParam"`
+	DefaultValue string           `position:"Query" name:"DefaultValue"`
+}
+
+// TestHttpApiResponse is the response struct for api TestHttpApi
+type TestHttpApiResponse struct {
+	*responses.BaseResponse
+	Params         string `json:"Params" xml:"Params"`
+	ServiceRpcSign string `json:"ServiceRpcSign" xml:"ServiceRpcSign"`
+}
+
+// CreateTestHttpApiRequest creates a request to invoke TestHttpApi API
+func CreateTestHttpApiRequest() (request *TestHttpApiRequest) {
+	request = &TestHttpApiRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Ft", "2018-07-13", "TestHttpApi", "", "")
+	return
+}
+
+// CreateTestHttpApiResponse creates a response to parse from TestHttpApi response
+func CreateTestHttpApiResponse() (response *TestHttpApiResponse) {
+	response = &TestHttpApiResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}