ソースを参照

Generated 2019-12-12 for amqp-open.

sdk-team 5 年 前
コミット
dd3b848c28
37 ファイル変更2296 行追加0 行削除
  1. 8 0
      ChangeLog.txt
  2. 129 0
      services/amqp-open/client.go
  3. 109 0
      services/amqp-open/create_binding.go
  4. 109 0
      services/amqp-open/create_exchange.go
  5. 113 0
      services/amqp-open/create_queue.go
  6. 104 0
      services/amqp-open/create_virtual_host.go
  7. 108 0
      services/amqp-open/delete_binding.go
  8. 105 0
      services/amqp-open/delete_exchange.go
  9. 105 0
      services/amqp-open/delete_queue.go
  10. 104 0
      services/amqp-open/delete_virtual_host.go
  11. 20 0
      services/amqp-open/endpoint.go
  12. 107 0
      services/amqp-open/list_bindings.go
  13. 111 0
      services/amqp-open/list_down_stream_bindings.go
  14. 111 0
      services/amqp-open/list_exchange_up_stream_bindings.go
  15. 107 0
      services/amqp-open/list_exchanges.go
  16. 105 0
      services/amqp-open/list_instances.go
  17. 108 0
      services/amqp-open/list_queue_up_stream_bindings.go
  18. 107 0
      services/amqp-open/list_queues.go
  19. 106 0
      services/amqp-open/list_virtual_hosts.go
  20. 25 0
      services/amqp-open/struct_binding_do.go
  21. 25 0
      services/amqp-open/struct_binding_vo.go
  22. 21 0
      services/amqp-open/struct_bindings_in_list_bindings.go
  23. 21 0
      services/amqp-open/struct_bindings_in_list_down_stream_bindings.go
  24. 21 0
      services/amqp-open/struct_bindings_in_list_exchange_up_stream_bindings.go
  25. 21 0
      services/amqp-open/struct_bindings_in_list_queue_up_stream_bindings.go
  26. 27 0
      services/amqp-open/struct_data.go
  27. 23 0
      services/amqp-open/struct_data_in_list_down_stream_bindings.go
  28. 23 0
      services/amqp-open/struct_data_in_list_exchange_up_stream_bindings.go
  29. 23 0
      services/amqp-open/struct_data_in_list_queue_up_stream_bindings.go
  30. 26 0
      services/amqp-open/struct_exchange_vo.go
  31. 21 0
      services/amqp-open/struct_exchanges.go
  32. 31 0
      services/amqp-open/struct_instance_vo.go
  33. 21 0
      services/amqp-open/struct_instances.go
  34. 28 0
      services/amqp-open/struct_queue_vo.go
  35. 21 0
      services/amqp-open/struct_queues.go
  36. 21 0
      services/amqp-open/struct_vhost_vo.go
  37. 21 0
      services/amqp-open/struct_virtual_hosts.go

+ 8 - 0
ChangeLog.txt

@@ -1,3 +1,11 @@
+2020-03-16 Version: v1.61.60
+- Generated 2019-12-12 for `amqp-open`.
+- Release.
+- Add virtual host modification API.
+- Add exchange modification API.
+- Add queue modification API.
+- Add binding modification API.
+
 2020-03-16 Version: v1.61.59
 - Generated 2014-05-26 for `Ecs`.
 - Add ImageFamily paramters and apis, in Instance creation apis and Image query apis, and add DescribeImageFromFamily.

+ 129 - 0
services/amqp-open/client.go

@@ -0,0 +1,129 @@
+package amqp_open
+
+//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 (
+	"reflect"
+
+	"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
+}
+
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	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)
+	SetEndpointDataToClient(client)
+	return
+}

+ 109 - 0
services/amqp-open/create_binding.go

@@ -0,0 +1,109 @@
+package amqp_open
+
+//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"
+)
+
+// CreateBinding invokes the amqp_open.CreateBinding API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/createbinding.html
+func (client *Client) CreateBinding(request *CreateBindingRequest) (response *CreateBindingResponse, err error) {
+	response = CreateCreateBindingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateBindingWithChan invokes the amqp_open.CreateBinding API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createbinding.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBindingWithChan(request *CreateBindingRequest) (<-chan *CreateBindingResponse, <-chan error) {
+	responseChan := make(chan *CreateBindingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateBinding(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateBindingWithCallback invokes the amqp_open.CreateBinding API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createbinding.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateBindingWithCallback(request *CreateBindingRequest, callback func(response *CreateBindingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateBindingResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateBinding(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateBindingRequest is the request struct for api CreateBinding
+type CreateBindingRequest struct {
+	*requests.RpcRequest
+	Argument        string `position:"Body" name:"Argument"`
+	DestinationName string `position:"Body" name:"DestinationName"`
+	SourceExchange  string `position:"Body" name:"SourceExchange"`
+	BindingKey      string `position:"Body" name:"BindingKey"`
+	BindingType     string `position:"Body" name:"BindingType"`
+	InstanceId      string `position:"Body" name:"InstanceId"`
+	VirtualHost     string `position:"Body" name:"VirtualHost"`
+}
+
+// CreateBindingResponse is the response struct for api CreateBinding
+type CreateBindingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateBindingRequest creates a request to invoke CreateBinding API
+func CreateCreateBindingRequest() (request *CreateBindingRequest) {
+	request = &CreateBindingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "CreateBinding", "onsproxy", "openAPI")
+	return
+}
+
+// CreateCreateBindingResponse creates a response to parse from CreateBinding response
+func CreateCreateBindingResponse() (response *CreateBindingResponse) {
+	response = &CreateBindingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/amqp-open/create_exchange.go

@@ -0,0 +1,109 @@
+package amqp_open
+
+//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"
+)
+
+// CreateExchange invokes the amqp_open.CreateExchange API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/createexchange.html
+func (client *Client) CreateExchange(request *CreateExchangeRequest) (response *CreateExchangeResponse, err error) {
+	response = CreateCreateExchangeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateExchangeWithChan invokes the amqp_open.CreateExchange API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createexchange.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateExchangeWithChan(request *CreateExchangeRequest) (<-chan *CreateExchangeResponse, <-chan error) {
+	responseChan := make(chan *CreateExchangeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateExchange(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateExchangeWithCallback invokes the amqp_open.CreateExchange API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createexchange.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateExchangeWithCallback(request *CreateExchangeRequest, callback func(response *CreateExchangeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateExchangeResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateExchange(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateExchangeRequest is the request struct for api CreateExchange
+type CreateExchangeRequest struct {
+	*requests.RpcRequest
+	Internal          requests.Boolean `position:"Body" name:"Internal"`
+	ExchangeName      string           `position:"Body" name:"ExchangeName"`
+	InstanceId        string           `position:"Body" name:"InstanceId"`
+	AlternateExchange string           `position:"Body" name:"AlternateExchange"`
+	AutoDeleteState   requests.Boolean `position:"Body" name:"AutoDeleteState"`
+	ExchangeType      string           `position:"Body" name:"ExchangeType"`
+	VirtualHost       string           `position:"Body" name:"VirtualHost"`
+}
+
+// CreateExchangeResponse is the response struct for api CreateExchange
+type CreateExchangeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateExchangeRequest creates a request to invoke CreateExchange API
+func CreateCreateExchangeRequest() (request *CreateExchangeRequest) {
+	request = &CreateExchangeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "CreateExchange", "onsproxy", "openAPI")
+	return
+}
+
+// CreateCreateExchangeResponse creates a response to parse from CreateExchange response
+func CreateCreateExchangeResponse() (response *CreateExchangeResponse) {
+	response = &CreateExchangeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/amqp-open/create_queue.go

@@ -0,0 +1,113 @@
+package amqp_open
+
+//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"
+)
+
+// CreateQueue invokes the amqp_open.CreateQueue API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/createqueue.html
+func (client *Client) CreateQueue(request *CreateQueueRequest) (response *CreateQueueResponse, err error) {
+	response = CreateCreateQueueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateQueueWithChan invokes the amqp_open.CreateQueue API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateQueueWithChan(request *CreateQueueRequest) (<-chan *CreateQueueResponse, <-chan error) {
+	responseChan := make(chan *CreateQueueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateQueue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateQueueWithCallback invokes the amqp_open.CreateQueue API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createqueue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateQueueWithCallback(request *CreateQueueRequest, callback func(response *CreateQueueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateQueueResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateQueue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateQueueRequest is the request struct for api CreateQueue
+type CreateQueueRequest struct {
+	*requests.RpcRequest
+	QueueName            string           `position:"Body" name:"QueueName"`
+	DeadLetterRoutingKey string           `position:"Body" name:"DeadLetterRoutingKey"`
+	MaxLength            requests.Integer `position:"Body" name:"MaxLength"`
+	AutoExpireState      requests.Integer `position:"Body" name:"AutoExpireState"`
+	DeadLetterExchange   string           `position:"Body" name:"DeadLetterExchange"`
+	InstanceId           string           `position:"Body" name:"InstanceId"`
+	ExclusiveState       requests.Boolean `position:"Body" name:"ExclusiveState"`
+	AutoDeleteState      requests.Boolean `position:"Body" name:"AutoDeleteState"`
+	MessageTTL           requests.Integer `position:"Body" name:"MessageTTL"`
+	VirtualHost          string           `position:"Body" name:"VirtualHost"`
+	MaximumPriority      requests.Integer `position:"Body" name:"MaximumPriority"`
+}
+
+// CreateQueueResponse is the response struct for api CreateQueue
+type CreateQueueResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateQueueRequest creates a request to invoke CreateQueue API
+func CreateCreateQueueRequest() (request *CreateQueueRequest) {
+	request = &CreateQueueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "CreateQueue", "onsproxy", "openAPI")
+	return
+}
+
+// CreateCreateQueueResponse creates a response to parse from CreateQueue response
+func CreateCreateQueueResponse() (response *CreateQueueResponse) {
+	response = &CreateQueueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/amqp-open/create_virtual_host.go

@@ -0,0 +1,104 @@
+package amqp_open
+
+//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"
+)
+
+// CreateVirtualHost invokes the amqp_open.CreateVirtualHost API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/createvirtualhost.html
+func (client *Client) CreateVirtualHost(request *CreateVirtualHostRequest) (response *CreateVirtualHostResponse, err error) {
+	response = CreateCreateVirtualHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateVirtualHostWithChan invokes the amqp_open.CreateVirtualHost API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createvirtualhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateVirtualHostWithChan(request *CreateVirtualHostRequest) (<-chan *CreateVirtualHostResponse, <-chan error) {
+	responseChan := make(chan *CreateVirtualHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateVirtualHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateVirtualHostWithCallback invokes the amqp_open.CreateVirtualHost API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/createvirtualhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateVirtualHostWithCallback(request *CreateVirtualHostRequest, callback func(response *CreateVirtualHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateVirtualHostResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateVirtualHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateVirtualHostRequest is the request struct for api CreateVirtualHost
+type CreateVirtualHostRequest struct {
+	*requests.RpcRequest
+	InstanceId  string `position:"Body" name:"InstanceId"`
+	VirtualHost string `position:"Body" name:"VirtualHost"`
+}
+
+// CreateVirtualHostResponse is the response struct for api CreateVirtualHost
+type CreateVirtualHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateCreateVirtualHostRequest creates a request to invoke CreateVirtualHost API
+func CreateCreateVirtualHostRequest() (request *CreateVirtualHostRequest) {
+	request = &CreateVirtualHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "CreateVirtualHost", "onsproxy", "openAPI")
+	return
+}
+
+// CreateCreateVirtualHostResponse creates a response to parse from CreateVirtualHost response
+func CreateCreateVirtualHostResponse() (response *CreateVirtualHostResponse) {
+	response = &CreateVirtualHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/amqp-open/delete_binding.go

@@ -0,0 +1,108 @@
+package amqp_open
+
+//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"
+)
+
+// DeleteBinding invokes the amqp_open.DeleteBinding API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletebinding.html
+func (client *Client) DeleteBinding(request *DeleteBindingRequest) (response *DeleteBindingResponse, err error) {
+	response = CreateDeleteBindingResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteBindingWithChan invokes the amqp_open.DeleteBinding API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletebinding.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteBindingWithChan(request *DeleteBindingRequest) (<-chan *DeleteBindingResponse, <-chan error) {
+	responseChan := make(chan *DeleteBindingResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteBinding(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteBindingWithCallback invokes the amqp_open.DeleteBinding API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletebinding.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteBindingWithCallback(request *DeleteBindingRequest, callback func(response *DeleteBindingResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteBindingResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteBinding(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteBindingRequest is the request struct for api DeleteBinding
+type DeleteBindingRequest struct {
+	*requests.RpcRequest
+	DestinationName string `position:"Body" name:"DestinationName"`
+	SourceExchange  string `position:"Body" name:"SourceExchange"`
+	BindingKey      string `position:"Body" name:"BindingKey"`
+	BindingType     string `position:"Body" name:"BindingType"`
+	InstanceId      string `position:"Body" name:"InstanceId"`
+	VirtualHost     string `position:"Body" name:"VirtualHost"`
+}
+
+// DeleteBindingResponse is the response struct for api DeleteBinding
+type DeleteBindingResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteBindingRequest creates a request to invoke DeleteBinding API
+func CreateDeleteBindingRequest() (request *DeleteBindingRequest) {
+	request = &DeleteBindingRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "DeleteBinding", "onsproxy", "openAPI")
+	return
+}
+
+// CreateDeleteBindingResponse creates a response to parse from DeleteBinding response
+func CreateDeleteBindingResponse() (response *DeleteBindingResponse) {
+	response = &DeleteBindingResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/amqp-open/delete_exchange.go

@@ -0,0 +1,105 @@
+package amqp_open
+
+//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"
+)
+
+// DeleteExchange invokes the amqp_open.DeleteExchange API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/deleteexchange.html
+func (client *Client) DeleteExchange(request *DeleteExchangeRequest) (response *DeleteExchangeResponse, err error) {
+	response = CreateDeleteExchangeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteExchangeWithChan invokes the amqp_open.DeleteExchange API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deleteexchange.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteExchangeWithChan(request *DeleteExchangeRequest) (<-chan *DeleteExchangeResponse, <-chan error) {
+	responseChan := make(chan *DeleteExchangeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteExchange(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteExchangeWithCallback invokes the amqp_open.DeleteExchange API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deleteexchange.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteExchangeWithCallback(request *DeleteExchangeRequest, callback func(response *DeleteExchangeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteExchangeResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteExchange(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteExchangeRequest is the request struct for api DeleteExchange
+type DeleteExchangeRequest struct {
+	*requests.RpcRequest
+	ExchangeName string `position:"Body" name:"ExchangeName"`
+	InstanceId   string `position:"Body" name:"InstanceId"`
+	VirtualHost  string `position:"Body" name:"VirtualHost"`
+}
+
+// DeleteExchangeResponse is the response struct for api DeleteExchange
+type DeleteExchangeResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteExchangeRequest creates a request to invoke DeleteExchange API
+func CreateDeleteExchangeRequest() (request *DeleteExchangeRequest) {
+	request = &DeleteExchangeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "DeleteExchange", "onsproxy", "openAPI")
+	return
+}
+
+// CreateDeleteExchangeResponse creates a response to parse from DeleteExchange response
+func CreateDeleteExchangeResponse() (response *DeleteExchangeResponse) {
+	response = &DeleteExchangeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/amqp-open/delete_queue.go

@@ -0,0 +1,105 @@
+package amqp_open
+
+//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"
+)
+
+// DeleteQueue invokes the amqp_open.DeleteQueue API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletequeue.html
+func (client *Client) DeleteQueue(request *DeleteQueueRequest) (response *DeleteQueueResponse, err error) {
+	response = CreateDeleteQueueResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteQueueWithChan invokes the amqp_open.DeleteQueue API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletequeue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteQueueWithChan(request *DeleteQueueRequest) (<-chan *DeleteQueueResponse, <-chan error) {
+	responseChan := make(chan *DeleteQueueResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteQueue(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteQueueWithCallback invokes the amqp_open.DeleteQueue API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletequeue.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteQueueWithCallback(request *DeleteQueueRequest, callback func(response *DeleteQueueResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteQueueResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteQueue(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteQueueRequest is the request struct for api DeleteQueue
+type DeleteQueueRequest struct {
+	*requests.RpcRequest
+	QueueName   string `position:"Body" name:"QueueName"`
+	InstanceId  string `position:"Body" name:"InstanceId"`
+	VirtualHost string `position:"Body" name:"VirtualHost"`
+}
+
+// DeleteQueueResponse is the response struct for api DeleteQueue
+type DeleteQueueResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteQueueRequest creates a request to invoke DeleteQueue API
+func CreateDeleteQueueRequest() (request *DeleteQueueRequest) {
+	request = &DeleteQueueRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "DeleteQueue", "onsproxy", "openAPI")
+	return
+}
+
+// CreateDeleteQueueResponse creates a response to parse from DeleteQueue response
+func CreateDeleteQueueResponse() (response *DeleteQueueResponse) {
+	response = &DeleteQueueResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/amqp-open/delete_virtual_host.go

@@ -0,0 +1,104 @@
+package amqp_open
+
+//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"
+)
+
+// DeleteVirtualHost invokes the amqp_open.DeleteVirtualHost API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletevirtualhost.html
+func (client *Client) DeleteVirtualHost(request *DeleteVirtualHostRequest) (response *DeleteVirtualHostResponse, err error) {
+	response = CreateDeleteVirtualHostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteVirtualHostWithChan invokes the amqp_open.DeleteVirtualHost API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletevirtualhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteVirtualHostWithChan(request *DeleteVirtualHostRequest) (<-chan *DeleteVirtualHostResponse, <-chan error) {
+	responseChan := make(chan *DeleteVirtualHostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteVirtualHost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteVirtualHostWithCallback invokes the amqp_open.DeleteVirtualHost API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/deletevirtualhost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteVirtualHostWithCallback(request *DeleteVirtualHostRequest, callback func(response *DeleteVirtualHostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteVirtualHostResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteVirtualHost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteVirtualHostRequest is the request struct for api DeleteVirtualHost
+type DeleteVirtualHostRequest struct {
+	*requests.RpcRequest
+	InstanceId  string `position:"Body" name:"InstanceId"`
+	VirtualHost string `position:"Body" name:"VirtualHost"`
+}
+
+// DeleteVirtualHostResponse is the response struct for api DeleteVirtualHost
+type DeleteVirtualHostResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteVirtualHostRequest creates a request to invoke DeleteVirtualHost API
+func CreateDeleteVirtualHostRequest() (request *DeleteVirtualHostRequest) {
+	request = &DeleteVirtualHostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "DeleteVirtualHost", "onsproxy", "openAPI")
+	return
+}
+
+// CreateDeleteVirtualHostResponse creates a response to parse from DeleteVirtualHost response
+func CreateDeleteVirtualHostResponse() (response *DeleteVirtualHostResponse) {
+	response = &DeleteVirtualHostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 0
services/amqp-open/endpoint.go

@@ -0,0 +1,20 @@
+package amqp_open
+
+// EndpointMap Endpoint Data
+var EndpointMap map[string]string
+
+// EndpointType regional or central
+var EndpointType = "regional"
+
+// GetEndpointMap Get Endpoint Data Map
+func GetEndpointMap() map[string]string {
+	if EndpointMap == nil {
+		EndpointMap = map[string]string{}
+	}
+	return EndpointMap
+}
+
+// GetEndpointType Get Endpoint Type Value
+func GetEndpointType() string {
+	return EndpointType
+}

+ 107 - 0
services/amqp-open/list_bindings.go

@@ -0,0 +1,107 @@
+package amqp_open
+
+//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"
+)
+
+// ListBindings invokes the amqp_open.ListBindings API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listbindings.html
+func (client *Client) ListBindings(request *ListBindingsRequest) (response *ListBindingsResponse, err error) {
+	response = CreateListBindingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListBindingsWithChan invokes the amqp_open.ListBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listbindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListBindingsWithChan(request *ListBindingsRequest) (<-chan *ListBindingsResponse, <-chan error) {
+	responseChan := make(chan *ListBindingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListBindings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListBindingsWithCallback invokes the amqp_open.ListBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listbindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListBindingsWithCallback(request *ListBindingsRequest, callback func(response *ListBindingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListBindingsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListBindings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListBindingsRequest is the request struct for api ListBindings
+type ListBindingsRequest struct {
+	*requests.RpcRequest
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	NextToken   string           `position:"Query" name:"NextToken"`
+	MaxResults  requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListBindingsResponse is the response struct for api ListBindings
+type ListBindingsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListBindingsRequest creates a request to invoke ListBindings API
+func CreateListBindingsRequest() (request *ListBindingsRequest) {
+	request = &ListBindingsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListBindings", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListBindingsResponse creates a response to parse from ListBindings response
+func CreateListBindingsResponse() (response *ListBindingsResponse) {
+	response = &ListBindingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/amqp-open/list_down_stream_bindings.go

@@ -0,0 +1,111 @@
+package amqp_open
+
+//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"
+)
+
+// ListDownStreamBindings invokes the amqp_open.ListDownStreamBindings API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listdownstreambindings.html
+func (client *Client) ListDownStreamBindings(request *ListDownStreamBindingsRequest) (response *ListDownStreamBindingsResponse, err error) {
+	response = CreateListDownStreamBindingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListDownStreamBindingsWithChan invokes the amqp_open.ListDownStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listdownstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDownStreamBindingsWithChan(request *ListDownStreamBindingsRequest) (<-chan *ListDownStreamBindingsResponse, <-chan error) {
+	responseChan := make(chan *ListDownStreamBindingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListDownStreamBindings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListDownStreamBindingsWithCallback invokes the amqp_open.ListDownStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listdownstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListDownStreamBindingsWithCallback(request *ListDownStreamBindingsRequest, callback func(response *ListDownStreamBindingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListDownStreamBindingsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListDownStreamBindings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListDownStreamBindingsRequest is the request struct for api ListDownStreamBindings
+type ListDownStreamBindingsRequest struct {
+	*requests.RpcRequest
+	ExchangeName string           `position:"Query" name:"ExchangeName"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	NextToken    string           `position:"Query" name:"NextToken"`
+	MaxResults   requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost  string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListDownStreamBindingsResponse is the response struct for api ListDownStreamBindings
+type ListDownStreamBindingsResponse struct {
+	*responses.BaseResponse
+	RequestId string                       `json:"RequestId" xml:"RequestId"`
+	Code      int                          `json:"Code" xml:"Code"`
+	Message   string                       `json:"Message" xml:"Message"`
+	Success   bool                         `json:"Success" xml:"Success"`
+	Data      DataInListDownStreamBindings `json:"Data" xml:"Data"`
+}
+
+// CreateListDownStreamBindingsRequest creates a request to invoke ListDownStreamBindings API
+func CreateListDownStreamBindingsRequest() (request *ListDownStreamBindingsRequest) {
+	request = &ListDownStreamBindingsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListDownStreamBindings", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListDownStreamBindingsResponse creates a response to parse from ListDownStreamBindings response
+func CreateListDownStreamBindingsResponse() (response *ListDownStreamBindingsResponse) {
+	response = &ListDownStreamBindingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 111 - 0
services/amqp-open/list_exchange_up_stream_bindings.go

@@ -0,0 +1,111 @@
+package amqp_open
+
+//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"
+)
+
+// ListExchangeUpStreamBindings invokes the amqp_open.ListExchangeUpStreamBindings API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchangeupstreambindings.html
+func (client *Client) ListExchangeUpStreamBindings(request *ListExchangeUpStreamBindingsRequest) (response *ListExchangeUpStreamBindingsResponse, err error) {
+	response = CreateListExchangeUpStreamBindingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListExchangeUpStreamBindingsWithChan invokes the amqp_open.ListExchangeUpStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchangeupstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListExchangeUpStreamBindingsWithChan(request *ListExchangeUpStreamBindingsRequest) (<-chan *ListExchangeUpStreamBindingsResponse, <-chan error) {
+	responseChan := make(chan *ListExchangeUpStreamBindingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListExchangeUpStreamBindings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListExchangeUpStreamBindingsWithCallback invokes the amqp_open.ListExchangeUpStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchangeupstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListExchangeUpStreamBindingsWithCallback(request *ListExchangeUpStreamBindingsRequest, callback func(response *ListExchangeUpStreamBindingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListExchangeUpStreamBindingsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListExchangeUpStreamBindings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListExchangeUpStreamBindingsRequest is the request struct for api ListExchangeUpStreamBindings
+type ListExchangeUpStreamBindingsRequest struct {
+	*requests.RpcRequest
+	ExchangeName string           `position:"Query" name:"ExchangeName"`
+	InstanceId   string           `position:"Query" name:"InstanceId"`
+	NextToken    string           `position:"Query" name:"NextToken"`
+	MaxResults   requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost  string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListExchangeUpStreamBindingsResponse is the response struct for api ListExchangeUpStreamBindings
+type ListExchangeUpStreamBindingsResponse struct {
+	*responses.BaseResponse
+	RequestId string                             `json:"RequestId" xml:"RequestId"`
+	Code      int                                `json:"Code" xml:"Code"`
+	Message   string                             `json:"Message" xml:"Message"`
+	Success   bool                               `json:"Success" xml:"Success"`
+	Data      DataInListExchangeUpStreamBindings `json:"Data" xml:"Data"`
+}
+
+// CreateListExchangeUpStreamBindingsRequest creates a request to invoke ListExchangeUpStreamBindings API
+func CreateListExchangeUpStreamBindingsRequest() (request *ListExchangeUpStreamBindingsRequest) {
+	request = &ListExchangeUpStreamBindingsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListExchangeUpStreamBindings", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListExchangeUpStreamBindingsResponse creates a response to parse from ListExchangeUpStreamBindings response
+func CreateListExchangeUpStreamBindingsResponse() (response *ListExchangeUpStreamBindingsResponse) {
+	response = &ListExchangeUpStreamBindingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/amqp-open/list_exchanges.go

@@ -0,0 +1,107 @@
+package amqp_open
+
+//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"
+)
+
+// ListExchanges invokes the amqp_open.ListExchanges API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchanges.html
+func (client *Client) ListExchanges(request *ListExchangesRequest) (response *ListExchangesResponse, err error) {
+	response = CreateListExchangesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListExchangesWithChan invokes the amqp_open.ListExchanges API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchanges.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListExchangesWithChan(request *ListExchangesRequest) (<-chan *ListExchangesResponse, <-chan error) {
+	responseChan := make(chan *ListExchangesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListExchanges(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListExchangesWithCallback invokes the amqp_open.ListExchanges API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listexchanges.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListExchangesWithCallback(request *ListExchangesRequest, callback func(response *ListExchangesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListExchangesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListExchanges(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListExchangesRequest is the request struct for api ListExchanges
+type ListExchangesRequest struct {
+	*requests.RpcRequest
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	NextToken   string           `position:"Query" name:"NextToken"`
+	MaxResults  requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListExchangesResponse is the response struct for api ListExchanges
+type ListExchangesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListExchangesRequest creates a request to invoke ListExchanges API
+func CreateListExchangesRequest() (request *ListExchangesRequest) {
+	request = &ListExchangesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListExchanges", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListExchangesResponse creates a response to parse from ListExchanges response
+func CreateListExchangesResponse() (response *ListExchangesResponse) {
+	response = &ListExchangesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/amqp-open/list_instances.go

@@ -0,0 +1,105 @@
+package amqp_open
+
+//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"
+)
+
+// ListInstances invokes the amqp_open.ListInstances API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listinstances.html
+func (client *Client) ListInstances(request *ListInstancesRequest) (response *ListInstancesResponse, err error) {
+	response = CreateListInstancesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListInstancesWithChan invokes the amqp_open.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithChan(request *ListInstancesRequest) (<-chan *ListInstancesResponse, <-chan error) {
+	responseChan := make(chan *ListInstancesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListInstances(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListInstancesWithCallback invokes the amqp_open.ListInstances API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listinstances.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListInstancesWithCallback(request *ListInstancesRequest, callback func(response *ListInstancesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListInstancesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListInstances(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListInstancesRequest is the request struct for api ListInstances
+type ListInstancesRequest struct {
+	*requests.RpcRequest
+	NextToken  string           `position:"Query" name:"NextToken"`
+	MaxResults requests.Integer `position:"Query" name:"MaxResults"`
+}
+
+// ListInstancesResponse is the response struct for api ListInstances
+type ListInstancesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListInstancesRequest creates a request to invoke ListInstances API
+func CreateListInstancesRequest() (request *ListInstancesRequest) {
+	request = &ListInstancesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListInstances", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListInstancesResponse creates a response to parse from ListInstances response
+func CreateListInstancesResponse() (response *ListInstancesResponse) {
+	response = &ListInstancesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 108 - 0
services/amqp-open/list_queue_up_stream_bindings.go

@@ -0,0 +1,108 @@
+package amqp_open
+
+//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"
+)
+
+// ListQueueUpStreamBindings invokes the amqp_open.ListQueueUpStreamBindings API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueueupstreambindings.html
+func (client *Client) ListQueueUpStreamBindings(request *ListQueueUpStreamBindingsRequest) (response *ListQueueUpStreamBindingsResponse, err error) {
+	response = CreateListQueueUpStreamBindingsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListQueueUpStreamBindingsWithChan invokes the amqp_open.ListQueueUpStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueueupstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueueUpStreamBindingsWithChan(request *ListQueueUpStreamBindingsRequest) (<-chan *ListQueueUpStreamBindingsResponse, <-chan error) {
+	responseChan := make(chan *ListQueueUpStreamBindingsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListQueueUpStreamBindings(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListQueueUpStreamBindingsWithCallback invokes the amqp_open.ListQueueUpStreamBindings API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueueupstreambindings.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueueUpStreamBindingsWithCallback(request *ListQueueUpStreamBindingsRequest, callback func(response *ListQueueUpStreamBindingsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListQueueUpStreamBindingsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListQueueUpStreamBindings(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListQueueUpStreamBindingsRequest is the request struct for api ListQueueUpStreamBindings
+type ListQueueUpStreamBindingsRequest struct {
+	*requests.RpcRequest
+	QueueName   string           `position:"Query" name:"QueueName"`
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	NextToken   string           `position:"Query" name:"NextToken"`
+	MaxResults  requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListQueueUpStreamBindingsResponse is the response struct for api ListQueueUpStreamBindings
+type ListQueueUpStreamBindingsResponse struct {
+	*responses.BaseResponse
+	RequestId string                          `json:"RequestId" xml:"RequestId"`
+	Data      DataInListQueueUpStreamBindings `json:"Data" xml:"Data"`
+}
+
+// CreateListQueueUpStreamBindingsRequest creates a request to invoke ListQueueUpStreamBindings API
+func CreateListQueueUpStreamBindingsRequest() (request *ListQueueUpStreamBindingsRequest) {
+	request = &ListQueueUpStreamBindingsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListQueueUpStreamBindings", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListQueueUpStreamBindingsResponse creates a response to parse from ListQueueUpStreamBindings response
+func CreateListQueueUpStreamBindingsResponse() (response *ListQueueUpStreamBindingsResponse) {
+	response = &ListQueueUpStreamBindingsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/amqp-open/list_queues.go

@@ -0,0 +1,107 @@
+package amqp_open
+
+//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"
+)
+
+// ListQueues invokes the amqp_open.ListQueues API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueues.html
+func (client *Client) ListQueues(request *ListQueuesRequest) (response *ListQueuesResponse, err error) {
+	response = CreateListQueuesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListQueuesWithChan invokes the amqp_open.ListQueues API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueuesWithChan(request *ListQueuesRequest) (<-chan *ListQueuesResponse, <-chan error) {
+	responseChan := make(chan *ListQueuesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListQueues(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListQueuesWithCallback invokes the amqp_open.ListQueues API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listqueues.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListQueuesWithCallback(request *ListQueuesRequest, callback func(response *ListQueuesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListQueuesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListQueues(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListQueuesRequest is the request struct for api ListQueues
+type ListQueuesRequest struct {
+	*requests.RpcRequest
+	InstanceId  string           `position:"Query" name:"InstanceId"`
+	NextToken   string           `position:"Query" name:"NextToken"`
+	MaxResults  requests.Integer `position:"Query" name:"MaxResults"`
+	VirtualHost string           `position:"Query" name:"VirtualHost"`
+}
+
+// ListQueuesResponse is the response struct for api ListQueues
+type ListQueuesResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListQueuesRequest creates a request to invoke ListQueues API
+func CreateListQueuesRequest() (request *ListQueuesRequest) {
+	request = &ListQueuesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListQueues", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListQueuesResponse creates a response to parse from ListQueues response
+func CreateListQueuesResponse() (response *ListQueuesResponse) {
+	response = &ListQueuesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/amqp-open/list_virtual_hosts.go

@@ -0,0 +1,106 @@
+package amqp_open
+
+//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"
+)
+
+// ListVirtualHosts invokes the amqp_open.ListVirtualHosts API synchronously
+// api document: https://help.aliyun.com/api/amqp-open/listvirtualhosts.html
+func (client *Client) ListVirtualHosts(request *ListVirtualHostsRequest) (response *ListVirtualHostsResponse, err error) {
+	response = CreateListVirtualHostsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListVirtualHostsWithChan invokes the amqp_open.ListVirtualHosts API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listvirtualhosts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListVirtualHostsWithChan(request *ListVirtualHostsRequest) (<-chan *ListVirtualHostsResponse, <-chan error) {
+	responseChan := make(chan *ListVirtualHostsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListVirtualHosts(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListVirtualHostsWithCallback invokes the amqp_open.ListVirtualHosts API asynchronously
+// api document: https://help.aliyun.com/api/amqp-open/listvirtualhosts.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListVirtualHostsWithCallback(request *ListVirtualHostsRequest, callback func(response *ListVirtualHostsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListVirtualHostsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListVirtualHosts(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListVirtualHostsRequest is the request struct for api ListVirtualHosts
+type ListVirtualHostsRequest struct {
+	*requests.RpcRequest
+	InstanceId string           `position:"Query" name:"InstanceId"`
+	NextToken  string           `position:"Query" name:"NextToken"`
+	MaxResults requests.Integer `position:"Query" name:"MaxResults"`
+}
+
+// ListVirtualHostsResponse is the response struct for api ListVirtualHosts
+type ListVirtualHostsResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	Data      Data   `json:"Data" xml:"Data"`
+}
+
+// CreateListVirtualHostsRequest creates a request to invoke ListVirtualHosts API
+func CreateListVirtualHostsRequest() (request *ListVirtualHostsRequest) {
+	request = &ListVirtualHostsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("amqp-open", "2019-12-12", "ListVirtualHosts", "onsproxy", "openAPI")
+	return
+}
+
+// CreateListVirtualHostsResponse creates a response to parse from ListVirtualHosts response
+func CreateListVirtualHostsResponse() (response *ListVirtualHostsResponse) {
+	response = &ListVirtualHostsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 25 - 0
services/amqp-open/struct_binding_do.go

@@ -0,0 +1,25 @@
+package amqp_open
+
+//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.
+
+// BindingDO is a nested struct in amqp_open response
+type BindingDO struct {
+	SourceExchange  string `json:"SourceExchange" xml:"SourceExchange"`
+	DestinationName string `json:"DestinationName" xml:"DestinationName"`
+	BindingType     string `json:"BindingType" xml:"BindingType"`
+	BindingKey      string `json:"BindingKey" xml:"BindingKey"`
+	Argument        string `json:"Argument" xml:"Argument"`
+}

+ 25 - 0
services/amqp-open/struct_binding_vo.go

@@ -0,0 +1,25 @@
+package amqp_open
+
+//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.
+
+// BindingVO is a nested struct in amqp_open response
+type BindingVO struct {
+	DestinationName string `json:"DestinationName" xml:"DestinationName"`
+	BindingKey      string `json:"BindingKey" xml:"BindingKey"`
+	Argument        string `json:"Argument" xml:"Argument"`
+	BindingType     string `json:"BindingType" xml:"BindingType"`
+	SourceExchange  string `json:"SourceExchange" xml:"SourceExchange"`
+}

+ 21 - 0
services/amqp-open/struct_bindings_in_list_bindings.go

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

+ 21 - 0
services/amqp-open/struct_bindings_in_list_down_stream_bindings.go

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

+ 21 - 0
services/amqp-open/struct_bindings_in_list_exchange_up_stream_bindings.go

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

+ 21 - 0
services/amqp-open/struct_bindings_in_list_queue_up_stream_bindings.go

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

+ 27 - 0
services/amqp-open/struct_data.go

@@ -0,0 +1,27 @@
+package amqp_open
+
+//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 amqp_open response
+type Data struct {
+	NextToken    string       `json:"NextToken" xml:"NextToken"`
+	MaxResults   int          `json:"MaxResults" xml:"MaxResults"`
+	Instances    []InstanceVO `json:"Instances" xml:"Instances"`
+	Queues       []QueueVO    `json:"Queues" xml:"Queues"`
+	Bindings     []BindingDO  `json:"Bindings" xml:"Bindings"`
+	Exchanges    []ExchangeVO `json:"Exchanges" xml:"Exchanges"`
+	VirtualHosts []VhostVO    `json:"VirtualHosts" xml:"VirtualHosts"`
+}

+ 23 - 0
services/amqp-open/struct_data_in_list_down_stream_bindings.go

@@ -0,0 +1,23 @@
+package amqp_open
+
+//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.
+
+// DataInListDownStreamBindings is a nested struct in amqp_open response
+type DataInListDownStreamBindings struct {
+	NextToken  string      `json:"NextToken" xml:"NextToken"`
+	MaxResults int         `json:"MaxResults" xml:"MaxResults"`
+	Bindings   []BindingVO `json:"Bindings" xml:"Bindings"`
+}

+ 23 - 0
services/amqp-open/struct_data_in_list_exchange_up_stream_bindings.go

@@ -0,0 +1,23 @@
+package amqp_open
+
+//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.
+
+// DataInListExchangeUpStreamBindings is a nested struct in amqp_open response
+type DataInListExchangeUpStreamBindings struct {
+	NextToken  string      `json:"NextToken" xml:"NextToken"`
+	MaxResults int         `json:"MaxResults" xml:"MaxResults"`
+	Bindings   []BindingVO `json:"Bindings" xml:"Bindings"`
+}

+ 23 - 0
services/amqp-open/struct_data_in_list_queue_up_stream_bindings.go

@@ -0,0 +1,23 @@
+package amqp_open
+
+//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.
+
+// DataInListQueueUpStreamBindings is a nested struct in amqp_open response
+type DataInListQueueUpStreamBindings struct {
+	NextToken  string      `json:"NextToken" xml:"NextToken"`
+	MaxResults string      `json:"MaxResults" xml:"MaxResults"`
+	Bindings   []BindingVO `json:"Bindings" xml:"Bindings"`
+}

+ 26 - 0
services/amqp-open/struct_exchange_vo.go

@@ -0,0 +1,26 @@
+package amqp_open
+
+//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.
+
+// ExchangeVO is a nested struct in amqp_open response
+type ExchangeVO struct {
+	Name            string                 `json:"Name" xml:"Name"`
+	VHostName       string                 `json:"VHostName" xml:"VHostName"`
+	ExchangeType    string                 `json:"ExchangeType" xml:"ExchangeType"`
+	AutoDeleteState bool                   `json:"AutoDeleteState" xml:"AutoDeleteState"`
+	Attributes      map[string]interface{} `json:"Attributes" xml:"Attributes"`
+	CreateTime      int64                  `json:"CreateTime" xml:"CreateTime"`
+}

+ 21 - 0
services/amqp-open/struct_exchanges.go

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

+ 31 - 0
services/amqp-open/struct_instance_vo.go

@@ -0,0 +1,31 @@
+package amqp_open
+
+//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.
+
+// InstanceVO is a nested struct in amqp_open response
+type InstanceVO struct {
+	InstanceId        string `json:"InstanceId" xml:"InstanceId"`
+	InstanceName      string `json:"InstanceName" xml:"InstanceName"`
+	InstanceType      string `json:"InstanceType" xml:"InstanceType"`
+	Status            string `json:"Status" xml:"Status"`
+	OrderType         string `json:"OrderType" xml:"OrderType"`
+	OrderCreateTime   int64  `json:"OrderCreateTime" xml:"OrderCreateTime"`
+	ExpireTime        int64  `json:"ExpireTime" xml:"ExpireTime"`
+	AutoRenewInstance bool   `json:"AutoRenewInstance" xml:"AutoRenewInstance"`
+	SupportEIP        bool   `json:"SupportEIP" xml:"SupportEIP"`
+	PrivateEndpoint   string `json:"PrivateEndpoint" xml:"PrivateEndpoint"`
+	PublicEndpoint    string `json:"PublicEndpoint" xml:"PublicEndpoint"`
+}

+ 21 - 0
services/amqp-open/struct_instances.go

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

+ 28 - 0
services/amqp-open/struct_queue_vo.go

@@ -0,0 +1,28 @@
+package amqp_open
+
+//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.
+
+// QueueVO is a nested struct in amqp_open response
+type QueueVO struct {
+	Name            string                 `json:"Name" xml:"Name"`
+	OwnerId         string                 `json:"OwnerId" xml:"OwnerId"`
+	VHostName       string                 `json:"VHostName" xml:"VHostName"`
+	AutoDeleteState bool                   `json:"AutoDeleteState" xml:"AutoDeleteState"`
+	ExclusiveState  bool                   `json:"ExclusiveState" xml:"ExclusiveState"`
+	CreateTime      int64                  `json:"CreateTime" xml:"CreateTime"`
+	LastConsumeTime int64                  `json:"LastConsumeTime" xml:"LastConsumeTime"`
+	Attributes      map[string]interface{} `json:"Attributes" xml:"Attributes"`
+}

+ 21 - 0
services/amqp-open/struct_queues.go

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

+ 21 - 0
services/amqp-open/struct_vhost_vo.go

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

+ 21 - 0
services/amqp-open/struct_virtual_hosts.go

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