소스 검색

Generated 2018-10-10 for Yundun-bastionhost.

sdk-team 5 년 전
부모
커밋
f22f7be589
55개의 변경된 파일3668개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      ChangeLog.txt
  2. 104 0
      services/yundun-bastionhost/client.go
  3. 109 0
      services/yundun-bastionhost/config_instance_network.go
  4. 107 0
      services/yundun-bastionhost/config_instance_port.go
  5. 106 0
      services/yundun-bastionhost/config_instance_security_groups.go
  6. 106 0
      services/yundun-bastionhost/config_instance_white_list.go
  7. 105 0
      services/yundun-bastionhost/describe_grant.go
  8. 108 0
      services/yundun-bastionhost/describe_instance.go
  9. 106 0
      services/yundun-bastionhost/describe_instance_attribute.go
  10. 118 0
      services/yundun-bastionhost/describe_instance_bastionhost.go
  11. 106 0
      services/yundun-bastionhost/describe_instance_login_ticket.go
  12. 107 0
      services/yundun-bastionhost/describe_instance_operation_ticket.go
  13. 107 0
      services/yundun-bastionhost/describe_instances.go
  14. 106 0
      services/yundun-bastionhost/describe_open_service.go
  15. 106 0
      services/yundun-bastionhost/describe_regions.go
  16. 105 0
      services/yundun-bastionhost/describe_resume.go
  17. 106 0
      services/yundun-bastionhost/describe_sync_info.go
  18. 105 0
      services/yundun-bastionhost/disable_instance_public_access.go
  19. 105 0
      services/yundun-bastionhost/enable_instance_public_access.go
  20. 110 0
      services/yundun-bastionhost/list_tag_keys.go
  21. 115 0
      services/yundun-bastionhost/list_tag_resources.go
  22. 106 0
      services/yundun-bastionhost/modify_instance_attribute.go
  23. 106 0
      services/yundun-bastionhost/modify_plan.go
  24. 107 0
      services/yundun-bastionhost/move_resource_group.go
  25. 106 0
      services/yundun-bastionhost/refund_instance.go
  26. 107 0
      services/yundun-bastionhost/start_instance.go
  27. 24 0
      services/yundun-bastionhost/struct_data.go
  28. 52 0
      services/yundun-bastionhost/struct_instance.go
  29. 53 0
      services/yundun-bastionhost/struct_instance_attribute.go
  30. 31 0
      services/yundun-bastionhost/struct_instance_in_describe_instances.go
  31. 49 0
      services/yundun-bastionhost/struct_instance_info.go
  32. 21 0
      services/yundun-bastionhost/struct_instances_in_describe_instance.go
  33. 21 0
      services/yundun-bastionhost/struct_instances_in_describe_instance_bastionhost.go
  34. 21 0
      services/yundun-bastionhost/struct_instances_in_describe_instances.go
  35. 23 0
      services/yundun-bastionhost/struct_login_ticket.go
  36. 22 0
      services/yundun-bastionhost/struct_port.go
  37. 21 0
      services/yundun-bastionhost/struct_ports.go
  38. 21 0
      services/yundun-bastionhost/struct_private_export_ips.go
  39. 21 0
      services/yundun-bastionhost/struct_private_white_list.go
  40. 21 0
      services/yundun-bastionhost/struct_public_export_ips.go
  41. 21 0
      services/yundun-bastionhost/struct_public_white_list.go
  42. 21 0
      services/yundun-bastionhost/struct_referred_security_groups.go
  43. 23 0
      services/yundun-bastionhost/struct_region.go
  44. 21 0
      services/yundun-bastionhost/struct_regions.go
  45. 21 0
      services/yundun-bastionhost/struct_security_group_ids.go
  46. 22 0
      services/yundun-bastionhost/struct_sts_token.go
  47. 22 0
      services/yundun-bastionhost/struct_tag_key.go
  48. 21 0
      services/yundun-bastionhost/struct_tag_keys.go
  49. 24 0
      services/yundun-bastionhost/struct_tag_resource.go
  50. 21 0
      services/yundun-bastionhost/struct_tag_resources.go
  51. 22 0
      services/yundun-bastionhost/struct_zone.go
  52. 21 0
      services/yundun-bastionhost/struct_zones.go
  53. 112 0
      services/yundun-bastionhost/tag_resources.go
  54. 107 0
      services/yundun-bastionhost/untag_resources.go
  55. 105 0
      services/yundun-bastionhost/upgrade_instance_version.go

+ 4 - 0
ChangeLog.txt

@@ -1,3 +1,7 @@
+2020-03-24 Version: v1.61.74
+- Generated 2018-10-10 for `Yundun-bastionhost`.
+
+
 2020-03-24 Version: v1.61.73
 - Generated 2018-10-29 for `Yundun-dbaudit`.
 

+ 104 - 0
services/yundun-bastionhost/client.go

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

+ 109 - 0
services/yundun-bastionhost/config_instance_network.go

@@ -0,0 +1,109 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ConfigInstanceNetwork invokes the yundun_bastionhost.ConfigInstanceNetwork API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancenetwork.html
+func (client *Client) ConfigInstanceNetwork(request *ConfigInstanceNetworkRequest) (response *ConfigInstanceNetworkResponse, err error) {
+	response = CreateConfigInstanceNetworkResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfigInstanceNetworkWithChan invokes the yundun_bastionhost.ConfigInstanceNetwork API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancenetwork.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceNetworkWithChan(request *ConfigInstanceNetworkRequest) (<-chan *ConfigInstanceNetworkResponse, <-chan error) {
+	responseChan := make(chan *ConfigInstanceNetworkResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfigInstanceNetwork(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfigInstanceNetworkWithCallback invokes the yundun_bastionhost.ConfigInstanceNetwork API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancenetwork.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceNetworkWithCallback(request *ConfigInstanceNetworkRequest, callback func(response *ConfigInstanceNetworkResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfigInstanceNetworkResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfigInstanceNetwork(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfigInstanceNetworkRequest is the request struct for api ConfigInstanceNetwork
+type ConfigInstanceNetworkRequest struct {
+	*requests.RpcRequest
+	SourceIp            string           `position:"Query" name:"SourceIp"`
+	PublicAccessControl requests.Integer `position:"Query" name:"PublicAccessControl"`
+	Lang                string           `position:"Query" name:"Lang"`
+	PrivateWhiteList    *[]string        `position:"Query" name:"PrivateWhiteList"  type:"Repeated"`
+	PublicWhiteList     *[]string        `position:"Query" name:"PublicWhiteList"  type:"Repeated"`
+	SecurityGroupIds    *[]string        `position:"Query" name:"SecurityGroupIds"  type:"Repeated"`
+	InstanceId          string           `position:"Query" name:"InstanceId"`
+}
+
+// ConfigInstanceNetworkResponse is the response struct for api ConfigInstanceNetwork
+type ConfigInstanceNetworkResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateConfigInstanceNetworkRequest creates a request to invoke ConfigInstanceNetwork API
+func CreateConfigInstanceNetworkRequest() (request *ConfigInstanceNetworkRequest) {
+	request = &ConfigInstanceNetworkRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ConfigInstanceNetwork", "bastionhost", "openAPI")
+	return
+}
+
+// CreateConfigInstanceNetworkResponse creates a response to parse from ConfigInstanceNetwork response
+func CreateConfigInstanceNetworkResponse() (response *ConfigInstanceNetworkResponse) {
+	response = &ConfigInstanceNetworkResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/config_instance_port.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ConfigInstancePort invokes the yundun_bastionhost.ConfigInstancePort API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstanceport.html
+func (client *Client) ConfigInstancePort(request *ConfigInstancePortRequest) (response *ConfigInstancePortResponse, err error) {
+	response = CreateConfigInstancePortResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfigInstancePortWithChan invokes the yundun_bastionhost.ConfigInstancePort API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstanceport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstancePortWithChan(request *ConfigInstancePortRequest) (<-chan *ConfigInstancePortResponse, <-chan error) {
+	responseChan := make(chan *ConfigInstancePortResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfigInstancePort(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfigInstancePortWithCallback invokes the yundun_bastionhost.ConfigInstancePort API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstanceport.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstancePortWithCallback(request *ConfigInstancePortRequest, callback func(response *ConfigInstancePortResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfigInstancePortResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfigInstancePort(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfigInstancePortRequest is the request struct for api ConfigInstancePort
+type ConfigInstancePortRequest struct {
+	*requests.RpcRequest
+	StandardPort requests.Integer `position:"Query" name:"StandardPort"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	SourceIp     string           `position:"Query" name:"SourceIp"`
+	CustomPort   requests.Integer `position:"Query" name:"CustomPort"`
+	Lang         string           `position:"Query" name:"Lang"`
+}
+
+// ConfigInstancePortResponse is the response struct for api ConfigInstancePort
+type ConfigInstancePortResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateConfigInstancePortRequest creates a request to invoke ConfigInstancePort API
+func CreateConfigInstancePortRequest() (request *ConfigInstancePortRequest) {
+	request = &ConfigInstancePortRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ConfigInstancePort", "bastionhost", "openAPI")
+	return
+}
+
+// CreateConfigInstancePortResponse creates a response to parse from ConfigInstancePort response
+func CreateConfigInstancePortResponse() (response *ConfigInstancePortResponse) {
+	response = &ConfigInstancePortResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/config_instance_security_groups.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ConfigInstanceSecurityGroups invokes the yundun_bastionhost.ConfigInstanceSecurityGroups API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancesecuritygroups.html
+func (client *Client) ConfigInstanceSecurityGroups(request *ConfigInstanceSecurityGroupsRequest) (response *ConfigInstanceSecurityGroupsResponse, err error) {
+	response = CreateConfigInstanceSecurityGroupsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfigInstanceSecurityGroupsWithChan invokes the yundun_bastionhost.ConfigInstanceSecurityGroups API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancesecuritygroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceSecurityGroupsWithChan(request *ConfigInstanceSecurityGroupsRequest) (<-chan *ConfigInstanceSecurityGroupsResponse, <-chan error) {
+	responseChan := make(chan *ConfigInstanceSecurityGroupsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfigInstanceSecurityGroups(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfigInstanceSecurityGroupsWithCallback invokes the yundun_bastionhost.ConfigInstanceSecurityGroups API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancesecuritygroups.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceSecurityGroupsWithCallback(request *ConfigInstanceSecurityGroupsRequest, callback func(response *ConfigInstanceSecurityGroupsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfigInstanceSecurityGroupsResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfigInstanceSecurityGroups(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfigInstanceSecurityGroupsRequest is the request struct for api ConfigInstanceSecurityGroups
+type ConfigInstanceSecurityGroupsRequest struct {
+	*requests.RpcRequest
+	SecurityGroupIds *[]string `position:"Query" name:"SecurityGroupIds"  type:"Repeated"`
+	InstanceId       string    `position:"Query" name:"InstanceId"`
+	SourceIp         string    `position:"Query" name:"SourceIp"`
+	Lang             string    `position:"Query" name:"Lang"`
+}
+
+// ConfigInstanceSecurityGroupsResponse is the response struct for api ConfigInstanceSecurityGroups
+type ConfigInstanceSecurityGroupsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateConfigInstanceSecurityGroupsRequest creates a request to invoke ConfigInstanceSecurityGroups API
+func CreateConfigInstanceSecurityGroupsRequest() (request *ConfigInstanceSecurityGroupsRequest) {
+	request = &ConfigInstanceSecurityGroupsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ConfigInstanceSecurityGroups", "bastionhost", "openAPI")
+	return
+}
+
+// CreateConfigInstanceSecurityGroupsResponse creates a response to parse from ConfigInstanceSecurityGroups response
+func CreateConfigInstanceSecurityGroupsResponse() (response *ConfigInstanceSecurityGroupsResponse) {
+	response = &ConfigInstanceSecurityGroupsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/config_instance_white_list.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ConfigInstanceWhiteList invokes the yundun_bastionhost.ConfigInstanceWhiteList API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancewhitelist.html
+func (client *Client) ConfigInstanceWhiteList(request *ConfigInstanceWhiteListRequest) (response *ConfigInstanceWhiteListResponse, err error) {
+	response = CreateConfigInstanceWhiteListResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ConfigInstanceWhiteListWithChan invokes the yundun_bastionhost.ConfigInstanceWhiteList API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancewhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceWhiteListWithChan(request *ConfigInstanceWhiteListRequest) (<-chan *ConfigInstanceWhiteListResponse, <-chan error) {
+	responseChan := make(chan *ConfigInstanceWhiteListResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ConfigInstanceWhiteList(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ConfigInstanceWhiteListWithCallback invokes the yundun_bastionhost.ConfigInstanceWhiteList API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/configinstancewhitelist.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ConfigInstanceWhiteListWithCallback(request *ConfigInstanceWhiteListRequest, callback func(response *ConfigInstanceWhiteListResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ConfigInstanceWhiteListResponse
+		var err error
+		defer close(result)
+		response, err = client.ConfigInstanceWhiteList(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ConfigInstanceWhiteListRequest is the request struct for api ConfigInstanceWhiteList
+type ConfigInstanceWhiteListRequest struct {
+	*requests.RpcRequest
+	WhiteList  *[]string `position:"Query" name:"WhiteList"  type:"Repeated"`
+	InstanceId string    `position:"Query" name:"InstanceId"`
+	SourceIp   string    `position:"Query" name:"SourceIp"`
+	Lang       string    `position:"Query" name:"Lang"`
+}
+
+// ConfigInstanceWhiteListResponse is the response struct for api ConfigInstanceWhiteList
+type ConfigInstanceWhiteListResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateConfigInstanceWhiteListRequest creates a request to invoke ConfigInstanceWhiteList API
+func CreateConfigInstanceWhiteListRequest() (request *ConfigInstanceWhiteListRequest) {
+	request = &ConfigInstanceWhiteListRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ConfigInstanceWhiteList", "bastionhost", "openAPI")
+	return
+}
+
+// CreateConfigInstanceWhiteListResponse creates a response to parse from ConfigInstanceWhiteList response
+func CreateConfigInstanceWhiteListResponse() (response *ConfigInstanceWhiteListResponse) {
+	response = &ConfigInstanceWhiteListResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/yundun-bastionhost/describe_grant.go

@@ -0,0 +1,105 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeGrant invokes the yundun_bastionhost.DescribeGrant API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describegrant.html
+func (client *Client) DescribeGrant(request *DescribeGrantRequest) (response *DescribeGrantResponse, err error) {
+	response = CreateDescribeGrantResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeGrantWithChan invokes the yundun_bastionhost.DescribeGrant API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describegrant.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantWithChan(request *DescribeGrantRequest) (<-chan *DescribeGrantResponse, <-chan error) {
+	responseChan := make(chan *DescribeGrantResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeGrant(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeGrantWithCallback invokes the yundun_bastionhost.DescribeGrant API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describegrant.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeGrantWithCallback(request *DescribeGrantRequest, callback func(response *DescribeGrantResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeGrantResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeGrant(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeGrantRequest is the request struct for api DescribeGrant
+type DescribeGrantRequest struct {
+	*requests.RpcRequest
+	SourceIp string `position:"Query" name:"SourceIp"`
+	Lang     string `position:"Query" name:"Lang"`
+}
+
+// DescribeGrantResponse is the response struct for api DescribeGrant
+type DescribeGrantResponse struct {
+	*responses.BaseResponse
+	RequestId       string `json:"RequestId" xml:"RequestId"`
+	EntityRoleGrant bool   `json:"EntityRoleGrant" xml:"EntityRoleGrant"`
+}
+
+// CreateDescribeGrantRequest creates a request to invoke DescribeGrant API
+func CreateDescribeGrantRequest() (request *DescribeGrantRequest) {
+	request = &DescribeGrantRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeGrant", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeGrantResponse creates a response to parse from DescribeGrant response
+func CreateDescribeGrantResponse() (response *DescribeGrantResponse) {
+	response = &DescribeGrantResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/yundun-bastionhost/describe_instance.go

@@ -0,0 +1,108 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstance invokes the yundun_bastionhost.DescribeInstance API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstance.html
+func (client *Client) DescribeInstance(request *DescribeInstanceRequest) (response *DescribeInstanceResponse, err error) {
+	response = CreateDescribeInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceWithChan invokes the yundun_bastionhost.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithChan(request *DescribeInstanceRequest) (<-chan *DescribeInstanceResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceWithCallback invokes the yundun_bastionhost.DescribeInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceWithCallback(request *DescribeInstanceRequest, callback func(response *DescribeInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceRequest is the request struct for api DescribeInstance
+type DescribeInstanceRequest struct {
+	*requests.RpcRequest
+	RegionNo string           `position:"Query" name:"regionNo"`
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	PageNo   requests.Integer `position:"Query" name:"PageNo"`
+	PageSize requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeInstanceResponse is the response struct for api DescribeInstance
+type DescribeInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int64      `json:"TotalCount" xml:"TotalCount"`
+	Instances  []Instance `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeInstanceRequest creates a request to invoke DescribeInstance API
+func CreateDescribeInstanceRequest() (request *DescribeInstanceRequest) {
+	request = &DescribeInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstance", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceResponse creates a response to parse from DescribeInstance response
+func CreateDescribeInstanceResponse() (response *DescribeInstanceResponse) {
+	response = &DescribeInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/describe_instance_attribute.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstanceAttribute invokes the yundun_bastionhost.DescribeInstanceAttribute API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceattribute.html
+func (client *Client) DescribeInstanceAttribute(request *DescribeInstanceAttributeRequest) (response *DescribeInstanceAttributeResponse, err error) {
+	response = CreateDescribeInstanceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceAttributeWithChan invokes the yundun_bastionhost.DescribeInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAttributeWithChan(request *DescribeInstanceAttributeRequest) (<-chan *DescribeInstanceAttributeResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceAttributeWithCallback invokes the yundun_bastionhost.DescribeInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceAttributeWithCallback(request *DescribeInstanceAttributeRequest, callback func(response *DescribeInstanceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceAttributeRequest is the request struct for api DescribeInstanceAttribute
+type DescribeInstanceAttributeRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// DescribeInstanceAttributeResponse is the response struct for api DescribeInstanceAttribute
+type DescribeInstanceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId         string            `json:"RequestId" xml:"RequestId"`
+	InstanceAttribute InstanceAttribute `json:"InstanceAttribute" xml:"InstanceAttribute"`
+}
+
+// CreateDescribeInstanceAttributeRequest creates a request to invoke DescribeInstanceAttribute API
+func CreateDescribeInstanceAttributeRequest() (request *DescribeInstanceAttributeRequest) {
+	request = &DescribeInstanceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstanceAttribute", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceAttributeResponse creates a response to parse from DescribeInstanceAttribute response
+func CreateDescribeInstanceAttributeResponse() (response *DescribeInstanceAttributeResponse) {
+	response = &DescribeInstanceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 118 - 0
services/yundun-bastionhost/describe_instance_bastionhost.go

@@ -0,0 +1,118 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstanceBastionhost invokes the yundun_bastionhost.DescribeInstanceBastionhost API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstancebastionhost.html
+func (client *Client) DescribeInstanceBastionhost(request *DescribeInstanceBastionhostRequest) (response *DescribeInstanceBastionhostResponse, err error) {
+	response = CreateDescribeInstanceBastionhostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceBastionhostWithChan invokes the yundun_bastionhost.DescribeInstanceBastionhost API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstancebastionhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceBastionhostWithChan(request *DescribeInstanceBastionhostRequest) (<-chan *DescribeInstanceBastionhostResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceBastionhostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceBastionhost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceBastionhostWithCallback invokes the yundun_bastionhost.DescribeInstanceBastionhost API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstancebastionhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceBastionhostWithCallback(request *DescribeInstanceBastionhostRequest, callback func(response *DescribeInstanceBastionhostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceBastionhostResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceBastionhost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceBastionhostRequest is the request struct for api DescribeInstanceBastionhost
+type DescribeInstanceBastionhostRequest struct {
+	*requests.RpcRequest
+	ResourceGroupId string                            `position:"Query" name:"ResourceGroupId"`
+	SourceIp        string                            `position:"Query" name:"SourceIp"`
+	PageSize        requests.Integer                  `position:"Query" name:"PageSize"`
+	Tag             *[]DescribeInstanceBastionhostTag `position:"Query" name:"Tag"  type:"Repeated"`
+	Lang            string                            `position:"Query" name:"Lang"`
+	InstanceStatus  string                            `position:"Query" name:"InstanceStatus"`
+	CurrentPage     requests.Integer                  `position:"Query" name:"CurrentPage"`
+	InstanceId      *[]string                         `position:"Query" name:"InstanceId"  type:"Repeated"`
+}
+
+// DescribeInstanceBastionhostTag is a repeated param struct in DescribeInstanceBastionhostRequest
+type DescribeInstanceBastionhostTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// DescribeInstanceBastionhostResponse is the response struct for api DescribeInstanceBastionhost
+type DescribeInstanceBastionhostResponse struct {
+	*responses.BaseResponse
+	RequestId  string     `json:"RequestId" xml:"RequestId"`
+	TotalCount int64      `json:"TotalCount" xml:"TotalCount"`
+	Instances  []Instance `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeInstanceBastionhostRequest creates a request to invoke DescribeInstanceBastionhost API
+func CreateDescribeInstanceBastionhostRequest() (request *DescribeInstanceBastionhostRequest) {
+	request = &DescribeInstanceBastionhostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstanceBastionhost", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceBastionhostResponse creates a response to parse from DescribeInstanceBastionhost response
+func CreateDescribeInstanceBastionhostResponse() (response *DescribeInstanceBastionhostResponse) {
+	response = &DescribeInstanceBastionhostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/describe_instance_login_ticket.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstanceLoginTicket invokes the yundun_bastionhost.DescribeInstanceLoginTicket API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceloginticket.html
+func (client *Client) DescribeInstanceLoginTicket(request *DescribeInstanceLoginTicketRequest) (response *DescribeInstanceLoginTicketResponse, err error) {
+	response = CreateDescribeInstanceLoginTicketResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceLoginTicketWithChan invokes the yundun_bastionhost.DescribeInstanceLoginTicket API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceloginticket.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceLoginTicketWithChan(request *DescribeInstanceLoginTicketRequest) (<-chan *DescribeInstanceLoginTicketResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceLoginTicketResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceLoginTicket(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceLoginTicketWithCallback invokes the yundun_bastionhost.DescribeInstanceLoginTicket API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceloginticket.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceLoginTicketWithCallback(request *DescribeInstanceLoginTicketRequest, callback func(response *DescribeInstanceLoginTicketResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceLoginTicketResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceLoginTicket(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceLoginTicketRequest is the request struct for api DescribeInstanceLoginTicket
+type DescribeInstanceLoginTicketRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// DescribeInstanceLoginTicketResponse is the response struct for api DescribeInstanceLoginTicket
+type DescribeInstanceLoginTicketResponse struct {
+	*responses.BaseResponse
+	RequestId   string      `json:"RequestId" xml:"RequestId"`
+	LoginTicket LoginTicket `json:"LoginTicket" xml:"LoginTicket"`
+}
+
+// CreateDescribeInstanceLoginTicketRequest creates a request to invoke DescribeInstanceLoginTicket API
+func CreateDescribeInstanceLoginTicketRequest() (request *DescribeInstanceLoginTicketRequest) {
+	request = &DescribeInstanceLoginTicketRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstanceLoginTicket", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceLoginTicketResponse creates a response to parse from DescribeInstanceLoginTicket response
+func CreateDescribeInstanceLoginTicketResponse() (response *DescribeInstanceLoginTicketResponse) {
+	response = &DescribeInstanceLoginTicketResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/describe_instance_operation_ticket.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstanceOperationTicket invokes the yundun_bastionhost.DescribeInstanceOperationTicket API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceoperationticket.html
+func (client *Client) DescribeInstanceOperationTicket(request *DescribeInstanceOperationTicketRequest) (response *DescribeInstanceOperationTicketResponse, err error) {
+	response = CreateDescribeInstanceOperationTicketResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstanceOperationTicketWithChan invokes the yundun_bastionhost.DescribeInstanceOperationTicket API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceoperationticket.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceOperationTicketWithChan(request *DescribeInstanceOperationTicketRequest) (<-chan *DescribeInstanceOperationTicketResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstanceOperationTicketResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstanceOperationTicket(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstanceOperationTicketWithCallback invokes the yundun_bastionhost.DescribeInstanceOperationTicket API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstanceoperationticket.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstanceOperationTicketWithCallback(request *DescribeInstanceOperationTicketRequest, callback func(response *DescribeInstanceOperationTicketResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstanceOperationTicketResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstanceOperationTicket(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstanceOperationTicketRequest is the request struct for api DescribeInstanceOperationTicket
+type DescribeInstanceOperationTicketRequest struct {
+	*requests.RpcRequest
+	Target     string `position:"Query" name:"Target"`
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// DescribeInstanceOperationTicketResponse is the response struct for api DescribeInstanceOperationTicket
+type DescribeInstanceOperationTicketResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	StsToken  StsToken `json:"StsToken" xml:"StsToken"`
+}
+
+// CreateDescribeInstanceOperationTicketRequest creates a request to invoke DescribeInstanceOperationTicket API
+func CreateDescribeInstanceOperationTicketRequest() (request *DescribeInstanceOperationTicketRequest) {
+	request = &DescribeInstanceOperationTicketRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstanceOperationTicket", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstanceOperationTicketResponse creates a response to parse from DescribeInstanceOperationTicket response
+func CreateDescribeInstanceOperationTicketResponse() (response *DescribeInstanceOperationTicketResponse) {
+	response = &DescribeInstanceOperationTicketResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/describe_instances.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeInstances invokes the yundun_bastionhost.DescribeInstances API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstances.html
+func (client *Client) DescribeInstances(request *DescribeInstancesRequest) (response *DescribeInstancesResponse, err error) {
+	response = CreateDescribeInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeInstancesWithChan invokes the yundun_bastionhost.DescribeInstances API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancesWithChan(request *DescribeInstancesRequest) (<-chan *DescribeInstancesResponse, <-chan error) {
+	responseChan := make(chan *DescribeInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeInstancesWithCallback invokes the yundun_bastionhost.DescribeInstances API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeInstancesWithCallback(request *DescribeInstancesRequest, callback func(response *DescribeInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeInstancesRequest is the request struct for api DescribeInstances
+type DescribeInstancesRequest struct {
+	*requests.RpcRequest
+	SourceIp string           `position:"Query" name:"SourceIp"`
+	PageNo   requests.Integer `position:"Query" name:"PageNo"`
+	PageSize requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// DescribeInstancesResponse is the response struct for api DescribeInstances
+type DescribeInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId  string                        `json:"RequestId" xml:"RequestId"`
+	TotalCount int64                         `json:"TotalCount" xml:"TotalCount"`
+	Instances  []InstanceInDescribeInstances `json:"Instances" xml:"Instances"`
+}
+
+// CreateDescribeInstancesRequest creates a request to invoke DescribeInstances API
+func CreateDescribeInstancesRequest() (request *DescribeInstancesRequest) {
+	request = &DescribeInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeInstances", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeInstancesResponse creates a response to parse from DescribeInstances response
+func CreateDescribeInstancesResponse() (response *DescribeInstancesResponse) {
+	response = &DescribeInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/describe_open_service.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeOpenService invokes the yundun_bastionhost.DescribeOpenService API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeopenservice.html
+func (client *Client) DescribeOpenService(request *DescribeOpenServiceRequest) (response *DescribeOpenServiceResponse, err error) {
+	response = CreateDescribeOpenServiceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeOpenServiceWithChan invokes the yundun_bastionhost.DescribeOpenService API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeopenservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeOpenServiceWithChan(request *DescribeOpenServiceRequest) (<-chan *DescribeOpenServiceResponse, <-chan error) {
+	responseChan := make(chan *DescribeOpenServiceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeOpenService(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeOpenServiceWithCallback invokes the yundun_bastionhost.DescribeOpenService API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeopenservice.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeOpenServiceWithCallback(request *DescribeOpenServiceRequest, callback func(response *DescribeOpenServiceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeOpenServiceResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeOpenService(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeOpenServiceRequest is the request struct for api DescribeOpenService
+type DescribeOpenServiceRequest struct {
+	*requests.RpcRequest
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+	VendorCode string `position:"Query" name:"VendorCode"`
+}
+
+// DescribeOpenServiceResponse is the response struct for api DescribeOpenService
+type DescribeOpenServiceResponse struct {
+	*responses.BaseResponse
+	RequestId  string `json:"RequestId" xml:"RequestId"`
+	OpenStatus bool   `json:"OpenStatus" xml:"OpenStatus"`
+}
+
+// CreateDescribeOpenServiceRequest creates a request to invoke DescribeOpenService API
+func CreateDescribeOpenServiceRequest() (request *DescribeOpenServiceRequest) {
+	request = &DescribeOpenServiceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeOpenService", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeOpenServiceResponse creates a response to parse from DescribeOpenService response
+func CreateDescribeOpenServiceResponse() (response *DescribeOpenServiceResponse) {
+	response = &DescribeOpenServiceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/describe_regions.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeRegions invokes the yundun_bastionhost.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the yundun_bastionhost.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the yundun_bastionhost.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RpcRequest
+	SourceIp       string `position:"Query" name:"SourceIp"`
+	AcceptLanguage string `position:"Query" name:"AcceptLanguage"`
+	Lang           string `position:"Query" name:"Lang"`
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Regions   []Region `json:"Regions" xml:"Regions"`
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeRegions", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/yundun-bastionhost/describe_resume.go

@@ -0,0 +1,105 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeResume invokes the yundun_bastionhost.DescribeResume API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeresume.html
+func (client *Client) DescribeResume(request *DescribeResumeRequest) (response *DescribeResumeResponse, err error) {
+	response = CreateDescribeResumeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResumeWithChan invokes the yundun_bastionhost.DescribeResume API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeresume.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResumeWithChan(request *DescribeResumeRequest) (<-chan *DescribeResumeResponse, <-chan error) {
+	responseChan := make(chan *DescribeResumeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResume(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResumeWithCallback invokes the yundun_bastionhost.DescribeResume API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describeresume.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResumeWithCallback(request *DescribeResumeRequest, callback func(response *DescribeResumeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResumeResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResume(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResumeRequest is the request struct for api DescribeResume
+type DescribeResumeRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+}
+
+// DescribeResumeResponse is the response struct for api DescribeResume
+type DescribeResumeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateDescribeResumeRequest creates a request to invoke DescribeResume API
+func CreateDescribeResumeRequest() (request *DescribeResumeRequest) {
+	request = &DescribeResumeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeResume", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeResumeResponse creates a response to parse from DescribeResume response
+func CreateDescribeResumeResponse() (response *DescribeResumeResponse) {
+	response = &DescribeResumeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/describe_sync_info.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DescribeSyncInfo invokes the yundun_bastionhost.DescribeSyncInfo API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describesyncinfo.html
+func (client *Client) DescribeSyncInfo(request *DescribeSyncInfoRequest) (response *DescribeSyncInfoResponse, err error) {
+	response = CreateDescribeSyncInfoResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeSyncInfoWithChan invokes the yundun_bastionhost.DescribeSyncInfo API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describesyncinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSyncInfoWithChan(request *DescribeSyncInfoRequest) (<-chan *DescribeSyncInfoResponse, <-chan error) {
+	responseChan := make(chan *DescribeSyncInfoResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeSyncInfo(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeSyncInfoWithCallback invokes the yundun_bastionhost.DescribeSyncInfo API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/describesyncinfo.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeSyncInfoWithCallback(request *DescribeSyncInfoRequest, callback func(response *DescribeSyncInfoResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeSyncInfoResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeSyncInfo(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeSyncInfoRequest is the request struct for api DescribeSyncInfo
+type DescribeSyncInfoRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// DescribeSyncInfoResponse is the response struct for api DescribeSyncInfo
+type DescribeSyncInfoResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	InstanceInfo InstanceInfo `json:"InstanceInfo" xml:"InstanceInfo"`
+}
+
+// CreateDescribeSyncInfoRequest creates a request to invoke DescribeSyncInfo API
+func CreateDescribeSyncInfoRequest() (request *DescribeSyncInfoRequest) {
+	request = &DescribeSyncInfoRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DescribeSyncInfo", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDescribeSyncInfoResponse creates a response to parse from DescribeSyncInfo response
+func CreateDescribeSyncInfoResponse() (response *DescribeSyncInfoResponse) {
+	response = &DescribeSyncInfoResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/yundun-bastionhost/disable_instance_public_access.go

@@ -0,0 +1,105 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// DisableInstancePublicAccess invokes the yundun_bastionhost.DisableInstancePublicAccess API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/disableinstancepublicaccess.html
+func (client *Client) DisableInstancePublicAccess(request *DisableInstancePublicAccessRequest) (response *DisableInstancePublicAccessResponse, err error) {
+	response = CreateDisableInstancePublicAccessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DisableInstancePublicAccessWithChan invokes the yundun_bastionhost.DisableInstancePublicAccess API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/disableinstancepublicaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableInstancePublicAccessWithChan(request *DisableInstancePublicAccessRequest) (<-chan *DisableInstancePublicAccessResponse, <-chan error) {
+	responseChan := make(chan *DisableInstancePublicAccessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DisableInstancePublicAccess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DisableInstancePublicAccessWithCallback invokes the yundun_bastionhost.DisableInstancePublicAccess API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/disableinstancepublicaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DisableInstancePublicAccessWithCallback(request *DisableInstancePublicAccessRequest, callback func(response *DisableInstancePublicAccessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DisableInstancePublicAccessResponse
+		var err error
+		defer close(result)
+		response, err = client.DisableInstancePublicAccess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DisableInstancePublicAccessRequest is the request struct for api DisableInstancePublicAccess
+type DisableInstancePublicAccessRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// DisableInstancePublicAccessResponse is the response struct for api DisableInstancePublicAccess
+type DisableInstancePublicAccessResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDisableInstancePublicAccessRequest creates a request to invoke DisableInstancePublicAccess API
+func CreateDisableInstancePublicAccessRequest() (request *DisableInstancePublicAccessRequest) {
+	request = &DisableInstancePublicAccessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "DisableInstancePublicAccess", "bastionhost", "openAPI")
+	return
+}
+
+// CreateDisableInstancePublicAccessResponse creates a response to parse from DisableInstancePublicAccess response
+func CreateDisableInstancePublicAccessResponse() (response *DisableInstancePublicAccessResponse) {
+	response = &DisableInstancePublicAccessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/yundun-bastionhost/enable_instance_public_access.go

@@ -0,0 +1,105 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// EnableInstancePublicAccess invokes the yundun_bastionhost.EnableInstancePublicAccess API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/enableinstancepublicaccess.html
+func (client *Client) EnableInstancePublicAccess(request *EnableInstancePublicAccessRequest) (response *EnableInstancePublicAccessResponse, err error) {
+	response = CreateEnableInstancePublicAccessResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// EnableInstancePublicAccessWithChan invokes the yundun_bastionhost.EnableInstancePublicAccess API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/enableinstancepublicaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableInstancePublicAccessWithChan(request *EnableInstancePublicAccessRequest) (<-chan *EnableInstancePublicAccessResponse, <-chan error) {
+	responseChan := make(chan *EnableInstancePublicAccessResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.EnableInstancePublicAccess(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// EnableInstancePublicAccessWithCallback invokes the yundun_bastionhost.EnableInstancePublicAccess API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/enableinstancepublicaccess.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) EnableInstancePublicAccessWithCallback(request *EnableInstancePublicAccessRequest, callback func(response *EnableInstancePublicAccessResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *EnableInstancePublicAccessResponse
+		var err error
+		defer close(result)
+		response, err = client.EnableInstancePublicAccess(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// EnableInstancePublicAccessRequest is the request struct for api EnableInstancePublicAccess
+type EnableInstancePublicAccessRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// EnableInstancePublicAccessResponse is the response struct for api EnableInstancePublicAccess
+type EnableInstancePublicAccessResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateEnableInstancePublicAccessRequest creates a request to invoke EnableInstancePublicAccess API
+func CreateEnableInstancePublicAccessRequest() (request *EnableInstancePublicAccessRequest) {
+	request = &EnableInstancePublicAccessRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "EnableInstancePublicAccess", "bastionhost", "openAPI")
+	return
+}
+
+// CreateEnableInstancePublicAccessResponse creates a response to parse from EnableInstancePublicAccess response
+func CreateEnableInstancePublicAccessResponse() (response *EnableInstancePublicAccessResponse) {
+	response = &EnableInstancePublicAccessResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 110 - 0
services/yundun-bastionhost/list_tag_keys.go

@@ -0,0 +1,110 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ListTagKeys invokes the yundun_bastionhost.ListTagKeys API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagkeys.html
+func (client *Client) ListTagKeys(request *ListTagKeysRequest) (response *ListTagKeysResponse, err error) {
+	response = CreateListTagKeysResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTagKeysWithChan invokes the yundun_bastionhost.ListTagKeys API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagkeys.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagKeysWithChan(request *ListTagKeysRequest) (<-chan *ListTagKeysResponse, <-chan error) {
+	responseChan := make(chan *ListTagKeysResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTagKeys(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTagKeysWithCallback invokes the yundun_bastionhost.ListTagKeys API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagkeys.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagKeysWithCallback(request *ListTagKeysRequest, callback func(response *ListTagKeysResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTagKeysResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTagKeys(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTagKeysRequest is the request struct for api ListTagKeys
+type ListTagKeysRequest struct {
+	*requests.RpcRequest
+	CurrentPage  requests.Integer `position:"Query" name:"CurrentPage"`
+	ResourceType string           `position:"Query" name:"ResourceType"`
+	SourceIp     string           `position:"Query" name:"SourceIp"`
+	PageSize     requests.Integer `position:"Query" name:"PageSize"`
+}
+
+// ListTagKeysResponse is the response struct for api ListTagKeys
+type ListTagKeysResponse struct {
+	*responses.BaseResponse
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	CurrentPage int      `json:"CurrentPage" xml:"CurrentPage"`
+	PageSize    int      `json:"PageSize" xml:"PageSize"`
+	TotalCount  int      `json:"TotalCount" xml:"TotalCount"`
+	TagKeys     []TagKey `json:"TagKeys" xml:"TagKeys"`
+}
+
+// CreateListTagKeysRequest creates a request to invoke ListTagKeys API
+func CreateListTagKeysRequest() (request *ListTagKeysRequest) {
+	request = &ListTagKeysRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ListTagKeys", "bastionhost", "openAPI")
+	return
+}
+
+// CreateListTagKeysResponse creates a response to parse from ListTagKeys response
+func CreateListTagKeysResponse() (response *ListTagKeysResponse) {
+	response = &ListTagKeysResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 115 - 0
services/yundun-bastionhost/list_tag_resources.go

@@ -0,0 +1,115 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ListTagResources invokes the yundun_bastionhost.ListTagResources API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagresources.html
+func (client *Client) ListTagResources(request *ListTagResourcesRequest) (response *ListTagResourcesResponse, err error) {
+	response = CreateListTagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListTagResourcesWithChan invokes the yundun_bastionhost.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithChan(request *ListTagResourcesRequest) (<-chan *ListTagResourcesResponse, <-chan error) {
+	responseChan := make(chan *ListTagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListTagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListTagResourcesWithCallback invokes the yundun_bastionhost.ListTagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/listtagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListTagResourcesWithCallback(request *ListTagResourcesRequest, callback func(response *ListTagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListTagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListTagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListTagResourcesRequest is the request struct for api ListTagResources
+type ListTagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceId   *[]string              `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceType string                 `position:"Query" name:"ResourceType"`
+	SourceIp     string                 `position:"Query" name:"SourceIp"`
+	NextToken    string                 `position:"Query" name:"NextToken"`
+	Tag          *[]ListTagResourcesTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// ListTagResourcesTag is a repeated param struct in ListTagResourcesRequest
+type ListTagResourcesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// ListTagResourcesResponse is the response struct for api ListTagResources
+type ListTagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId    string       `json:"RequestId" xml:"RequestId"`
+	NextToken    string       `json:"NextToken" xml:"NextToken"`
+	TagResources TagResources `json:"TagResources" xml:"TagResources"`
+}
+
+// CreateListTagResourcesRequest creates a request to invoke ListTagResources API
+func CreateListTagResourcesRequest() (request *ListTagResourcesRequest) {
+	request = &ListTagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ListTagResources", "bastionhost", "openAPI")
+	return
+}
+
+// CreateListTagResourcesResponse creates a response to parse from ListTagResources response
+func CreateListTagResourcesResponse() (response *ListTagResourcesResponse) {
+	response = &ListTagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/modify_instance_attribute.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ModifyInstanceAttribute invokes the yundun_bastionhost.ModifyInstanceAttribute API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyinstanceattribute.html
+func (client *Client) ModifyInstanceAttribute(request *ModifyInstanceAttributeRequest) (response *ModifyInstanceAttributeResponse, err error) {
+	response = CreateModifyInstanceAttributeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyInstanceAttributeWithChan invokes the yundun_bastionhost.ModifyInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAttributeWithChan(request *ModifyInstanceAttributeRequest) (<-chan *ModifyInstanceAttributeResponse, <-chan error) {
+	responseChan := make(chan *ModifyInstanceAttributeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyInstanceAttribute(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyInstanceAttributeWithCallback invokes the yundun_bastionhost.ModifyInstanceAttribute API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyinstanceattribute.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyInstanceAttributeWithCallback(request *ModifyInstanceAttributeRequest, callback func(response *ModifyInstanceAttributeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyInstanceAttributeResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyInstanceAttribute(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyInstanceAttributeRequest is the request struct for api ModifyInstanceAttribute
+type ModifyInstanceAttributeRequest struct {
+	*requests.RpcRequest
+	Description string `position:"Query" name:"Description"`
+	InstanceId  string `position:"Query" name:"InstanceId"`
+	SourceIp    string `position:"Query" name:"SourceIp"`
+	Lang        string `position:"Query" name:"Lang"`
+}
+
+// ModifyInstanceAttributeResponse is the response struct for api ModifyInstanceAttribute
+type ModifyInstanceAttributeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyInstanceAttributeRequest creates a request to invoke ModifyInstanceAttribute API
+func CreateModifyInstanceAttributeRequest() (request *ModifyInstanceAttributeRequest) {
+	request = &ModifyInstanceAttributeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ModifyInstanceAttribute", "bastionhost", "openAPI")
+	return
+}
+
+// CreateModifyInstanceAttributeResponse creates a response to parse from ModifyInstanceAttribute response
+func CreateModifyInstanceAttributeResponse() (response *ModifyInstanceAttributeResponse) {
+	response = &ModifyInstanceAttributeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/modify_plan.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// ModifyPlan invokes the yundun_bastionhost.ModifyPlan API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyplan.html
+func (client *Client) ModifyPlan(request *ModifyPlanRequest) (response *ModifyPlanResponse, err error) {
+	response = CreateModifyPlanResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ModifyPlanWithChan invokes the yundun_bastionhost.ModifyPlan API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyPlanWithChan(request *ModifyPlanRequest) (<-chan *ModifyPlanResponse, <-chan error) {
+	responseChan := make(chan *ModifyPlanResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ModifyPlan(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ModifyPlanWithCallback invokes the yundun_bastionhost.ModifyPlan API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/modifyplan.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ModifyPlanWithCallback(request *ModifyPlanRequest, callback func(response *ModifyPlanResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ModifyPlanResponse
+		var err error
+		defer close(result)
+		response, err = client.ModifyPlan(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ModifyPlanRequest is the request struct for api ModifyPlan
+type ModifyPlanRequest struct {
+	*requests.RpcRequest
+	CommodityCode string `position:"Query" name:"CommodityCode"`
+	InstanceId    string `position:"Query" name:"InstanceId"`
+	SourceIp      string `position:"Query" name:"SourceIp"`
+	Lang          string `position:"Query" name:"Lang"`
+}
+
+// ModifyPlanResponse is the response struct for api ModifyPlan
+type ModifyPlanResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateModifyPlanRequest creates a request to invoke ModifyPlan API
+func CreateModifyPlanRequest() (request *ModifyPlanRequest) {
+	request = &ModifyPlanRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "ModifyPlan", "bastionhost", "openAPI")
+	return
+}
+
+// CreateModifyPlanResponse creates a response to parse from ModifyPlan response
+func CreateModifyPlanResponse() (response *ModifyPlanResponse) {
+	response = &ModifyPlanResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/move_resource_group.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// MoveResourceGroup invokes the yundun_bastionhost.MoveResourceGroup API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/moveresourcegroup.html
+func (client *Client) MoveResourceGroup(request *MoveResourceGroupRequest) (response *MoveResourceGroupResponse, err error) {
+	response = CreateMoveResourceGroupResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// MoveResourceGroupWithChan invokes the yundun_bastionhost.MoveResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/moveresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveResourceGroupWithChan(request *MoveResourceGroupRequest) (<-chan *MoveResourceGroupResponse, <-chan error) {
+	responseChan := make(chan *MoveResourceGroupResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.MoveResourceGroup(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// MoveResourceGroupWithCallback invokes the yundun_bastionhost.MoveResourceGroup API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/moveresourcegroup.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) MoveResourceGroupWithCallback(request *MoveResourceGroupRequest, callback func(response *MoveResourceGroupResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *MoveResourceGroupResponse
+		var err error
+		defer close(result)
+		response, err = client.MoveResourceGroup(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// MoveResourceGroupRequest is the request struct for api MoveResourceGroup
+type MoveResourceGroupRequest struct {
+	*requests.RpcRequest
+	ResourceId      string `position:"Query" name:"ResourceId"`
+	ResourceType    string `position:"Query" name:"ResourceType"`
+	ResourceGroupId string `position:"Query" name:"ResourceGroupId"`
+	SourceIp        string `position:"Query" name:"SourceIp"`
+	Lang            string `position:"Query" name:"Lang"`
+}
+
+// MoveResourceGroupResponse is the response struct for api MoveResourceGroup
+type MoveResourceGroupResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateMoveResourceGroupRequest creates a request to invoke MoveResourceGroup API
+func CreateMoveResourceGroupRequest() (request *MoveResourceGroupRequest) {
+	request = &MoveResourceGroupRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "MoveResourceGroup", "bastionhost", "openAPI")
+	return
+}
+
+// CreateMoveResourceGroupResponse creates a response to parse from MoveResourceGroup response
+func CreateMoveResourceGroupResponse() (response *MoveResourceGroupResponse) {
+	response = &MoveResourceGroupResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/yundun-bastionhost/refund_instance.go

@@ -0,0 +1,106 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// RefundInstance invokes the yundun_bastionhost.RefundInstance API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/refundinstance.html
+func (client *Client) RefundInstance(request *RefundInstanceRequest) (response *RefundInstanceResponse, err error) {
+	response = CreateRefundInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// RefundInstanceWithChan invokes the yundun_bastionhost.RefundInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/refundinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RefundInstanceWithChan(request *RefundInstanceRequest) (<-chan *RefundInstanceResponse, <-chan error) {
+	responseChan := make(chan *RefundInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.RefundInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// RefundInstanceWithCallback invokes the yundun_bastionhost.RefundInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/refundinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) RefundInstanceWithCallback(request *RefundInstanceRequest, callback func(response *RefundInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *RefundInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.RefundInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// RefundInstanceRequest is the request struct for api RefundInstance
+type RefundInstanceRequest struct {
+	*requests.RpcRequest
+	InstanceId  string `position:"Query" name:"InstanceId"`
+	SourceIp    string `position:"Query" name:"SourceIp"`
+	ServiceCode string `position:"Query" name:"ServiceCode"`
+	Lang        string `position:"Query" name:"Lang"`
+}
+
+// RefundInstanceResponse is the response struct for api RefundInstance
+type RefundInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateRefundInstanceRequest creates a request to invoke RefundInstance API
+func CreateRefundInstanceRequest() (request *RefundInstanceRequest) {
+	request = &RefundInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "RefundInstance", "bastionhost", "openAPI")
+	return
+}
+
+// CreateRefundInstanceResponse creates a response to parse from RefundInstance response
+func CreateRefundInstanceResponse() (response *RefundInstanceResponse) {
+	response = &RefundInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/start_instance.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// StartInstance invokes the yundun_bastionhost.StartInstance API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/startinstance.html
+func (client *Client) StartInstance(request *StartInstanceRequest) (response *StartInstanceResponse, err error) {
+	response = CreateStartInstanceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// StartInstanceWithChan invokes the yundun_bastionhost.StartInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/startinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartInstanceWithChan(request *StartInstanceRequest) (<-chan *StartInstanceResponse, <-chan error) {
+	responseChan := make(chan *StartInstanceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.StartInstance(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// StartInstanceWithCallback invokes the yundun_bastionhost.StartInstance API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/startinstance.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) StartInstanceWithCallback(request *StartInstanceRequest, callback func(response *StartInstanceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *StartInstanceResponse
+		var err error
+		defer close(result)
+		response, err = client.StartInstance(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// StartInstanceRequest is the request struct for api StartInstance
+type StartInstanceRequest struct {
+	*requests.RpcRequest
+	SecurityGroupIds *[]string `position:"Query" name:"SecurityGroupIds"  type:"Repeated"`
+	VswitchId        string    `position:"Query" name:"VswitchId"`
+	InstanceId       string    `position:"Query" name:"InstanceId"`
+	SourceIp         string    `position:"Query" name:"SourceIp"`
+	Lang             string    `position:"Query" name:"Lang"`
+}
+
+// StartInstanceResponse is the response struct for api StartInstance
+type StartInstanceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateStartInstanceRequest creates a request to invoke StartInstance API
+func CreateStartInstanceRequest() (request *StartInstanceRequest) {
+	request = &StartInstanceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "StartInstance", "bastionhost", "openAPI")
+	return
+}
+
+// CreateStartInstanceResponse creates a response to parse from StartInstance response
+func CreateStartInstanceResponse() (response *StartInstanceResponse) {
+	response = &StartInstanceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 24 - 0
services/yundun-bastionhost/struct_data.go

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

+ 52 - 0
services/yundun-bastionhost/struct_instance.go

@@ -0,0 +1,52 @@
+package yundun_bastionhost
+
+//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.
+
+// Instance is a nested struct in yundun_bastionhost response
+type Instance struct {
+	EcsIntranetIp       string `json:"EcsIntranetIp" xml:"EcsIntranetIp"`
+	EcsInternetIp       string `json:"EcsInternetIp" xml:"EcsInternetIp"`
+	ImageVersionName    string `json:"ImageVersionName" xml:"ImageVersionName"`
+	StartTime           int64  `json:"StartTime" xml:"StartTime"`
+	RegionId            string `json:"RegionId" xml:"RegionId"`
+	InternetEndpoint    string `json:"InternetEndpoint" xml:"InternetEndpoint"`
+	RegionNo            string `json:"RegionNo" xml:"RegionNo"`
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	VswitchId           string `json:"VswitchId" xml:"VswitchId"`
+	InstanceStatus      string `json:"InstanceStatus" xml:"InstanceStatus"`
+	VpcId               string `json:"VpcId" xml:"VpcId"`
+	NetworkType         string `json:"NetworkType" xml:"NetworkType"`
+	IntranetIp          string `json:"IntranetIp" xml:"IntranetIp"`
+	Description         string `json:"Description" xml:"Description"`
+	SeriesCode          string `json:"SeriesCode" xml:"SeriesCode"`
+	LicenseCode         string `json:"LicenseCode" xml:"LicenseCode"`
+	Legacy              bool   `json:"Legacy" xml:"Legacy"`
+	Status              int    `json:"Status" xml:"Status"`
+	PublicNetworkAccess bool   `json:"PublicNetworkAccess" xml:"PublicNetworkAccess"`
+	InternetIp          string `json:"InternetIp" xml:"InternetIp"`
+	EcsNetworkType      string `json:"EcsNetworkType" xml:"EcsNetworkType"`
+	Renewable           bool   `json:"Renewable" xml:"Renewable"`
+	Upgradeable         bool   `json:"Upgradeable" xml:"Upgradeable"`
+	CustomName          string `json:"CustomName" xml:"CustomName"`
+	Operatable          bool   `json:"Operatable" xml:"Operatable"`
+	EcsInstanceId       string `json:"EcsInstanceId" xml:"EcsInstanceId"`
+	PlanUpgradeable     bool   `json:"PlanUpgradeable" xml:"PlanUpgradeable"`
+	IntranetEndpoint    string `json:"IntranetEndpoint" xml:"IntranetEndpoint"`
+	EcsStatus           string `json:"EcsStatus" xml:"EcsStatus"`
+	PlanUpgradeStatus   int    `json:"PlanUpgradeStatus" xml:"PlanUpgradeStatus"`
+	ExpireTime          int64  `json:"ExpireTime" xml:"ExpireTime"`
+	UpgradeStatus       int    `json:"UpgradeStatus" xml:"UpgradeStatus"`
+}

+ 53 - 0
services/yundun-bastionhost/struct_instance_attribute.go

@@ -0,0 +1,53 @@
+package yundun_bastionhost
+
+//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.
+
+// InstanceAttribute is a nested struct in yundun_bastionhost response
+type InstanceAttribute struct {
+	RegionId               string   `json:"RegionId" xml:"RegionId"`
+	InstanceId             string   `json:"InstanceId" xml:"InstanceId"`
+	InstanceStatus         string   `json:"InstanceStatus" xml:"InstanceStatus"`
+	VpcId                  string   `json:"VpcId" xml:"VpcId"`
+	VswitchId              string   `json:"VswitchId" xml:"VswitchId"`
+	IntranetIp             string   `json:"IntranetIp" xml:"IntranetIp"`
+	InternetIp             string   `json:"InternetIp" xml:"InternetIp"`
+	IntranetEndpoint       string   `json:"IntranetEndpoint" xml:"IntranetEndpoint"`
+	InternetEndpoint       string   `json:"InternetEndpoint" xml:"InternetEndpoint"`
+	NetworkType            string   `json:"NetworkType" xml:"NetworkType"`
+	EcsStatus              string   `json:"EcsStatus" xml:"EcsStatus"`
+	ImageVersionName       string   `json:"ImageVersionName" xml:"ImageVersionName"`
+	Renewable              bool     `json:"Renewable" xml:"Renewable"`
+	PlanUpgradeable        bool     `json:"PlanUpgradeable" xml:"PlanUpgradeable"`
+	PlanUpgradeStatus      int      `json:"PlanUpgradeStatus" xml:"PlanUpgradeStatus"`
+	Upgradeable            bool     `json:"Upgradeable" xml:"Upgradeable"`
+	UpgradeStatus          int      `json:"UpgradeStatus" xml:"UpgradeStatus"`
+	AccessType             int      `json:"AccessType" xml:"AccessType"`
+	PublicAccessControl    int      `json:"PublicAccessControl" xml:"PublicAccessControl"`
+	PublicNetworkAccess    bool     `json:"PublicNetworkAccess" xml:"PublicNetworkAccess"`
+	EniInstanceId          string   `json:"EniInstanceId" xml:"EniInstanceId"`
+	StartTime              int64    `json:"StartTime" xml:"StartTime"`
+	ExpireTime             int64    `json:"ExpireTime" xml:"ExpireTime"`
+	Description            string   `json:"Description" xml:"Description"`
+	LicenseCode            string   `json:"LicenseCode" xml:"LicenseCode"`
+	SeriesCode             string   `json:"SeriesCode" xml:"SeriesCode"`
+	PublicWhiteList        []string `json:"PublicWhiteList" xml:"PublicWhiteList"`
+	PrivateWhiteList       []string `json:"PrivateWhiteList" xml:"PrivateWhiteList"`
+	SecurityGroupIds       []string `json:"SecurityGroupIds" xml:"SecurityGroupIds"`
+	ReferredSecurityGroups []string `json:"ReferredSecurityGroups" xml:"ReferredSecurityGroups"`
+	PublicExportIps        []string `json:"PublicExportIps" xml:"PublicExportIps"`
+	PrivateExportIps       []string `json:"PrivateExportIps" xml:"PrivateExportIps"`
+	Ports                  []Port   `json:"Ports" xml:"Ports"`
+}

+ 31 - 0
services/yundun-bastionhost/struct_instance_in_describe_instances.go

@@ -0,0 +1,31 @@
+package yundun_bastionhost
+
+//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.
+
+// InstanceInDescribeInstances is a nested struct in yundun_bastionhost response
+type InstanceInDescribeInstances struct {
+	InstanceId     string `json:"InstanceId" xml:"InstanceId"`
+	RegionId       string `json:"RegionId" xml:"RegionId"`
+	NetworkType    string `json:"NetworkType" xml:"NetworkType"`
+	IntranetIp     string `json:"IntranetIp" xml:"IntranetIp"`
+	InternetIp     string `json:"InternetIp" xml:"InternetIp"`
+	InstanceStatus int    `json:"InstanceStatus" xml:"InstanceStatus"`
+	StartTime      int64  `json:"StartTime" xml:"StartTime"`
+	ExpireTime     int64  `json:"ExpireTime" xml:"ExpireTime"`
+	VpcId          string `json:"VpcId" xml:"VpcId"`
+	VswitchId      string `json:"VswitchId" xml:"VswitchId"`
+	Description    string `json:"Description" xml:"Description"`
+}

+ 49 - 0
services/yundun-bastionhost/struct_instance_info.go

@@ -0,0 +1,49 @@
+package yundun_bastionhost
+
+//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.
+
+// InstanceInfo is a nested struct in yundun_bastionhost response
+type InstanceInfo struct {
+	EcsNetworkType      string `json:"EcsNetworkType" xml:"EcsNetworkType"`
+	RegionName          string `json:"RegionName" xml:"RegionName"`
+	PlanName            string `json:"PlanName" xml:"PlanName"`
+	PlanUpgradeable     string `json:"PlanUpgradeable" xml:"PlanUpgradeable"`
+	ProductName         string `json:"ProductName" xml:"ProductName"`
+	RegionNo            string `json:"RegionNo" xml:"RegionNo"`
+	VendorCode          string `json:"VendorCode" xml:"VendorCode"`
+	AccessType          int    `json:"AccessType" xml:"AccessType"`
+	UpgradeStatus       int    `json:"UpgradeStatus" xml:"UpgradeStatus"`
+	VswitchId           string `json:"VswitchId" xml:"VswitchId"`
+	InstanceId          string `json:"InstanceId" xml:"InstanceId"`
+	EcsStatus           string `json:"EcsStatus" xml:"EcsStatus"`
+	StartTime           int64  `json:"StartTime" xml:"StartTime"`
+	Aliuid              int64  `json:"Aliuid" xml:"Aliuid"`
+	EcsInternetIp       string `json:"EcsInternetIp" xml:"EcsInternetIp"`
+	CustomName          string `json:"CustomName" xml:"CustomName"`
+	PlanUpgradeStatus   int    `json:"PlanUpgradeStatus" xml:"PlanUpgradeStatus"`
+	PlanCode            string `json:"PlanCode" xml:"PlanCode"`
+	EcsUuid             string `json:"EcsUuid" xml:"EcsUuid"`
+	PublicAccessControl int    `json:"PublicAccessControl" xml:"PublicAccessControl"`
+	EcsInstanceId       string `json:"EcsInstanceId" xml:"EcsInstanceId"`
+	ExpireTime          int64  `json:"ExpireTime" xml:"ExpireTime"`
+	ProductCode         string `json:"ProductCode" xml:"ProductCode"`
+	ZoneNo              string `json:"ZoneNo" xml:"ZoneNo"`
+	EcsEip              string `json:"EcsEip" xml:"EcsEip"`
+	Renewable           bool   `json:"Renewable" xml:"Renewable"`
+	EcsIntranetIp       string `json:"EcsIntranetIp" xml:"EcsIntranetIp"`
+	ImageVersionName    string `json:"ImageVersionName" xml:"ImageVersionName"`
+	Status              int    `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_instances_in_describe_instance.go

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

+ 21 - 0
services/yundun-bastionhost/struct_instances_in_describe_instance_bastionhost.go

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

+ 21 - 0
services/yundun-bastionhost/struct_instances_in_describe_instances.go

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

+ 23 - 0
services/yundun-bastionhost/struct_login_ticket.go

@@ -0,0 +1,23 @@
+package yundun_bastionhost
+
+//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.
+
+// LoginTicket is a nested struct in yundun_bastionhost response
+type LoginTicket struct {
+	Certificate string `json:"Certificate" xml:"Certificate"`
+	Ticket      string `json:"Ticket" xml:"Ticket"`
+	Zones       []Zone `json:"Zones" xml:"Zones"`
+}

+ 22 - 0
services/yundun-bastionhost/struct_port.go

@@ -0,0 +1,22 @@
+package yundun_bastionhost
+
+//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.
+
+// Port is a nested struct in yundun_bastionhost response
+type Port struct {
+	StandardPort int `json:"StandardPort" xml:"StandardPort"`
+	CustomPort   int `json:"CustomPort" xml:"CustomPort"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_ports.go

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

+ 21 - 0
services/yundun-bastionhost/struct_private_export_ips.go

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

+ 21 - 0
services/yundun-bastionhost/struct_private_white_list.go

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

+ 21 - 0
services/yundun-bastionhost/struct_public_export_ips.go

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

+ 21 - 0
services/yundun-bastionhost/struct_public_white_list.go

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

+ 21 - 0
services/yundun-bastionhost/struct_referred_security_groups.go

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

+ 23 - 0
services/yundun-bastionhost/struct_region.go

@@ -0,0 +1,23 @@
+package yundun_bastionhost
+
+//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.
+
+// Region is a nested struct in yundun_bastionhost response
+type Region struct {
+	RegionId       string `json:"RegionId" xml:"RegionId"`
+	LocalName      string `json:"LocalName" xml:"LocalName"`
+	RegionEndpoint string `json:"RegionEndpoint" xml:"RegionEndpoint"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_regions.go

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

+ 21 - 0
services/yundun-bastionhost/struct_security_group_ids.go

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

+ 22 - 0
services/yundun-bastionhost/struct_sts_token.go

@@ -0,0 +1,22 @@
+package yundun_bastionhost
+
+//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.
+
+// StsToken is a nested struct in yundun_bastionhost response
+type StsToken struct {
+	Certificate string `json:"Certificate" xml:"Certificate"`
+	Token       string `json:"Token" xml:"Token"`
+}

+ 22 - 0
services/yundun-bastionhost/struct_tag_key.go

@@ -0,0 +1,22 @@
+package yundun_bastionhost
+
+//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.
+
+// TagKey is a nested struct in yundun_bastionhost response
+type TagKey struct {
+	TagKey   string `json:"TagKey" xml:"TagKey"`
+	TagCount int    `json:"TagCount" xml:"TagCount"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_tag_keys.go

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

+ 24 - 0
services/yundun-bastionhost/struct_tag_resource.go

@@ -0,0 +1,24 @@
+package yundun_bastionhost
+
+//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.
+
+// TagResource is a nested struct in yundun_bastionhost response
+type TagResource struct {
+	ResourceType string `json:"ResourceType" xml:"ResourceType"`
+	ResourceId   string `json:"ResourceId" xml:"ResourceId"`
+	TagKey       string `json:"TagKey" xml:"TagKey"`
+	TagValue     string `json:"TagValue" xml:"TagValue"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_tag_resources.go

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

+ 22 - 0
services/yundun-bastionhost/struct_zone.go

@@ -0,0 +1,22 @@
+package yundun_bastionhost
+
+//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.
+
+// Zone is a nested struct in yundun_bastionhost response
+type Zone struct {
+	ZoneId    string `json:"ZoneId" xml:"ZoneId"`
+	LocalName string `json:"LocalName" xml:"LocalName"`
+}

+ 21 - 0
services/yundun-bastionhost/struct_zones.go

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

+ 112 - 0
services/yundun-bastionhost/tag_resources.go

@@ -0,0 +1,112 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// TagResources invokes the yundun_bastionhost.TagResources API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/tagresources.html
+func (client *Client) TagResources(request *TagResourcesRequest) (response *TagResourcesResponse, err error) {
+	response = CreateTagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// TagResourcesWithChan invokes the yundun_bastionhost.TagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/tagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TagResourcesWithChan(request *TagResourcesRequest) (<-chan *TagResourcesResponse, <-chan error) {
+	responseChan := make(chan *TagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.TagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// TagResourcesWithCallback invokes the yundun_bastionhost.TagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/tagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) TagResourcesWithCallback(request *TagResourcesRequest, callback func(response *TagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *TagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.TagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// TagResourcesRequest is the request struct for api TagResources
+type TagResourcesRequest struct {
+	*requests.RpcRequest
+	ResourceId   *[]string          `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceType string             `position:"Query" name:"ResourceType"`
+	SourceIp     string             `position:"Query" name:"SourceIp"`
+	Tag          *[]TagResourcesTag `position:"Query" name:"Tag"  type:"Repeated"`
+}
+
+// TagResourcesTag is a repeated param struct in TagResourcesRequest
+type TagResourcesTag struct {
+	Value string `name:"Value"`
+	Key   string `name:"Key"`
+}
+
+// TagResourcesResponse is the response struct for api TagResources
+type TagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateTagResourcesRequest creates a request to invoke TagResources API
+func CreateTagResourcesRequest() (request *TagResourcesRequest) {
+	request = &TagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "TagResources", "bastionhost", "openAPI")
+	return
+}
+
+// CreateTagResourcesResponse creates a response to parse from TagResources response
+func CreateTagResourcesResponse() (response *TagResourcesResponse) {
+	response = &TagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/yundun-bastionhost/untag_resources.go

@@ -0,0 +1,107 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// UntagResources invokes the yundun_bastionhost.UntagResources API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/untagresources.html
+func (client *Client) UntagResources(request *UntagResourcesRequest) (response *UntagResourcesResponse, err error) {
+	response = CreateUntagResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UntagResourcesWithChan invokes the yundun_bastionhost.UntagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/untagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UntagResourcesWithChan(request *UntagResourcesRequest) (<-chan *UntagResourcesResponse, <-chan error) {
+	responseChan := make(chan *UntagResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UntagResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UntagResourcesWithCallback invokes the yundun_bastionhost.UntagResources API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/untagresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UntagResourcesWithCallback(request *UntagResourcesRequest, callback func(response *UntagResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UntagResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.UntagResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UntagResourcesRequest is the request struct for api UntagResources
+type UntagResourcesRequest struct {
+	*requests.RpcRequest
+	All          requests.Boolean `position:"Query" name:"All"`
+	ResourceId   *[]string        `position:"Query" name:"ResourceId"  type:"Repeated"`
+	ResourceType string           `position:"Query" name:"ResourceType"`
+	SourceIp     string           `position:"Query" name:"SourceIp"`
+	TagKey       *[]string        `position:"Query" name:"TagKey"  type:"Repeated"`
+}
+
+// UntagResourcesResponse is the response struct for api UntagResources
+type UntagResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUntagResourcesRequest creates a request to invoke UntagResources API
+func CreateUntagResourcesRequest() (request *UntagResourcesRequest) {
+	request = &UntagResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "UntagResources", "bastionhost", "openAPI")
+	return
+}
+
+// CreateUntagResourcesResponse creates a response to parse from UntagResources response
+func CreateUntagResourcesResponse() (response *UntagResourcesResponse) {
+	response = &UntagResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/yundun-bastionhost/upgrade_instance_version.go

@@ -0,0 +1,105 @@
+package yundun_bastionhost
+
+//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"
+)
+
+// UpgradeInstanceVersion invokes the yundun_bastionhost.UpgradeInstanceVersion API synchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/upgradeinstanceversion.html
+func (client *Client) UpgradeInstanceVersion(request *UpgradeInstanceVersionRequest) (response *UpgradeInstanceVersionResponse, err error) {
+	response = CreateUpgradeInstanceVersionResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpgradeInstanceVersionWithChan invokes the yundun_bastionhost.UpgradeInstanceVersion API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/upgradeinstanceversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpgradeInstanceVersionWithChan(request *UpgradeInstanceVersionRequest) (<-chan *UpgradeInstanceVersionResponse, <-chan error) {
+	responseChan := make(chan *UpgradeInstanceVersionResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpgradeInstanceVersion(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpgradeInstanceVersionWithCallback invokes the yundun_bastionhost.UpgradeInstanceVersion API asynchronously
+// api document: https://help.aliyun.com/api/yundun-bastionhost/upgradeinstanceversion.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpgradeInstanceVersionWithCallback(request *UpgradeInstanceVersionRequest, callback func(response *UpgradeInstanceVersionResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpgradeInstanceVersionResponse
+		var err error
+		defer close(result)
+		response, err = client.UpgradeInstanceVersion(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpgradeInstanceVersionRequest is the request struct for api UpgradeInstanceVersion
+type UpgradeInstanceVersionRequest struct {
+	*requests.RpcRequest
+	InstanceId string `position:"Query" name:"InstanceId"`
+	SourceIp   string `position:"Query" name:"SourceIp"`
+	Lang       string `position:"Query" name:"Lang"`
+}
+
+// UpgradeInstanceVersionResponse is the response struct for api UpgradeInstanceVersion
+type UpgradeInstanceVersionResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateUpgradeInstanceVersionRequest creates a request to invoke UpgradeInstanceVersion API
+func CreateUpgradeInstanceVersionRequest() (request *UpgradeInstanceVersionRequest) {
+	request = &UpgradeInstanceVersionRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("Yundun-bastionhost", "2018-10-10", "UpgradeInstanceVersion", "bastionhost", "openAPI")
+	return
+}
+
+// CreateUpgradeInstanceVersionResponse creates a response to parse from UpgradeInstanceVersion response
+func CreateUpgradeInstanceVersionResponse() (response *UpgradeInstanceVersionResponse) {
+	response = &UpgradeInstanceVersionResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}