Bläddra i källkod

ROS SDK Auto Released By haoyun,Version:1.51.2

Signed-off-by: haowei.yao <haowei.yao@alibaba-inc.com>
haowei.yao 6 år sedan
förälder
incheckning
fd292b4194

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-01-22 Version: 1.51.2
+1, support Stack Policy setting .
+
 2019-01-21 Version: 1.51.1
 2019-01-21 Version: 1.51.1
 1, Interface DescribePluginApis returns the modification
 1, Interface DescribePluginApis returns the modification
 
 

+ 104 - 0
services/ros/abandon_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// AbandonStack invokes the ros.AbandonStack API synchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+func (client *Client) AbandonStack(request *AbandonStackRequest) (response *AbandonStackResponse, err error) {
+	response = CreateAbandonStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AbandonStackWithChan invokes the ros.AbandonStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbandonStackWithChan(request *AbandonStackRequest) (<-chan *AbandonStackResponse, <-chan error) {
+	responseChan := make(chan *AbandonStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AbandonStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AbandonStackWithCallback invokes the ros.AbandonStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbandonStackWithCallback(request *AbandonStackRequest, callback func(response *AbandonStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AbandonStackResponse
+		var err error
+		defer close(result)
+		response, err = client.AbandonStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AbandonStackRequest is the request struct for api AbandonStack
+type AbandonStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// AbandonStackResponse is the response struct for api AbandonStack
+type AbandonStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateAbandonStackRequest creates a request to invoke AbandonStack API
+func CreateAbandonStackRequest() (request *AbandonStackRequest) {
+	request = &AbandonStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "AbandonStack", "/stacks/[StackName]/[StackId]/abandon", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateAbandonStackResponse creates a response to parse from AbandonStack response
+func CreateAbandonStackResponse() (response *AbandonStackResponse) {
+	response = &AbandonStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/cancel_update_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// CancelUpdateStack invokes the ros.CancelUpdateStack API synchronously
+// api document: https://help.aliyun.com/api/ros/cancelupdatestack.html
+func (client *Client) CancelUpdateStack(request *CancelUpdateStackRequest) (response *CancelUpdateStackResponse, err error) {
+	response = CreateCancelUpdateStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CancelUpdateStackWithChan invokes the ros.CancelUpdateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/cancelupdatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelUpdateStackWithChan(request *CancelUpdateStackRequest) (<-chan *CancelUpdateStackResponse, <-chan error) {
+	responseChan := make(chan *CancelUpdateStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CancelUpdateStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CancelUpdateStackWithCallback invokes the ros.CancelUpdateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/cancelupdatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CancelUpdateStackWithCallback(request *CancelUpdateStackRequest, callback func(response *CancelUpdateStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CancelUpdateStackResponse
+		var err error
+		defer close(result)
+		response, err = client.CancelUpdateStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CancelUpdateStackRequest is the request struct for api CancelUpdateStack
+type CancelUpdateStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// CancelUpdateStackResponse is the response struct for api CancelUpdateStack
+type CancelUpdateStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateCancelUpdateStackRequest creates a request to invoke CancelUpdateStack API
+func CreateCancelUpdateStackRequest() (request *CancelUpdateStackRequest) {
+	request = &CancelUpdateStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "CancelUpdateStack", "/stacks/[StackName]/[StackId]/cancel", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateCancelUpdateStackResponse creates a response to parse from CancelUpdateStack response
+func CreateCancelUpdateStackResponse() (response *CancelUpdateStackResponse) {
+	response = &CancelUpdateStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 81 - 0
services/ros/client.go

@@ -0,0 +1,81 @@
+package ros
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+)
+
+// Client is the sdk client struct, each func corresponds to an OpenAPI
+type Client struct {
+	sdk.Client
+}
+
+// NewClient creates a sdk client with environment variables
+func NewClient() (client *Client, err error) {
+	client = &Client{}
+	err = client.Init()
+	return
+}
+
+// NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
+// this is the common api to create a sdk client
+func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithOptions(regionId, config, credential)
+	return
+}
+
+// NewClientWithAccessKey is a shortcut to create sdk client with accesskey
+// usage: https://help.aliyun.com/document_detail/66217.html
+func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	return
+}
+
+// NewClientWithStsToken is a shortcut to create sdk client with sts token
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	return
+}
+
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
+// usage: https://help.aliyun.com/document_detail/66222.html
+func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	return
+}
+
+// NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
+// usage: https://help.aliyun.com/document_detail/66223.html
+func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithEcsRamRole(regionId, roleName)
+	return
+}
+
+// NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
+// attention: rsa key pair auth is only Japan regions available
+func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	return
+}

+ 104 - 0
services/ros/continue_create_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// ContinueCreateStack invokes the ros.ContinueCreateStack API synchronously
+// api document: https://help.aliyun.com/api/ros/continuecreatestack.html
+func (client *Client) ContinueCreateStack(request *ContinueCreateStackRequest) (response *ContinueCreateStackResponse, err error) {
+	response = CreateContinueCreateStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ContinueCreateStackWithChan invokes the ros.ContinueCreateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/continuecreatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ContinueCreateStackWithChan(request *ContinueCreateStackRequest) (<-chan *ContinueCreateStackResponse, <-chan error) {
+	responseChan := make(chan *ContinueCreateStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ContinueCreateStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ContinueCreateStackWithCallback invokes the ros.ContinueCreateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/continuecreatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ContinueCreateStackWithCallback(request *ContinueCreateStackRequest, callback func(response *ContinueCreateStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ContinueCreateStackResponse
+		var err error
+		defer close(result)
+		response, err = client.ContinueCreateStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ContinueCreateStackRequest is the request struct for api ContinueCreateStack
+type ContinueCreateStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// ContinueCreateStackResponse is the response struct for api ContinueCreateStack
+type ContinueCreateStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateContinueCreateStackRequest creates a request to invoke ContinueCreateStack API
+func CreateContinueCreateStackRequest() (request *ContinueCreateStackRequest) {
+	request = &ContinueCreateStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "ContinueCreateStack", "/stacks/[StackName]/[StackId]/continue", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateContinueCreateStackResponse creates a response to parse from ContinueCreateStack response
+func CreateContinueCreateStackResponse() (response *ContinueCreateStackResponse) {
+	response = &ContinueCreateStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ros/create_stacks.go

@@ -0,0 +1,102 @@
+package ros
+
+//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"
+)
+
+// CreateStacks invokes the ros.CreateStacks API synchronously
+// api document: https://help.aliyun.com/api/ros/createstacks.html
+func (client *Client) CreateStacks(request *CreateStacksRequest) (response *CreateStacksResponse, err error) {
+	response = CreateCreateStacksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateStacksWithChan invokes the ros.CreateStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/createstacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStacksWithChan(request *CreateStacksRequest) (<-chan *CreateStacksResponse, <-chan error) {
+	responseChan := make(chan *CreateStacksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateStacks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateStacksWithCallback invokes the ros.CreateStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/createstacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStacksWithCallback(request *CreateStacksRequest, callback func(response *CreateStacksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateStacksResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateStacks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateStacksRequest is the request struct for api CreateStacks
+type CreateStacksRequest struct {
+	*requests.RoaRequest
+}
+
+// CreateStacksResponse is the response struct for api CreateStacks
+type CreateStacksResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateCreateStacksRequest creates a request to invoke CreateStacks API
+func CreateCreateStacksRequest() (request *CreateStacksRequest) {
+	request = &CreateStacksRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "CreateStacks", "/stacks", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateCreateStacksResponse creates a response to parse from CreateStacks response
+func CreateCreateStacksResponse() (response *CreateStacksResponse) {
+	response = &CreateStacksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/delete_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// DeleteStack invokes the ros.DeleteStack API synchronously
+// api document: https://help.aliyun.com/api/ros/deletestack.html
+func (client *Client) DeleteStack(request *DeleteStackRequest) (response *DeleteStackResponse, err error) {
+	response = CreateDeleteStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteStackWithChan invokes the ros.DeleteStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/deletestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteStackWithChan(request *DeleteStackRequest) (<-chan *DeleteStackResponse, <-chan error) {
+	responseChan := make(chan *DeleteStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteStackWithCallback invokes the ros.DeleteStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/deletestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteStackWithCallback(request *DeleteStackRequest, callback func(response *DeleteStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteStackResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteStackRequest is the request struct for api DeleteStack
+type DeleteStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DeleteStackResponse is the response struct for api DeleteStack
+type DeleteStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDeleteStackRequest creates a request to invoke DeleteStack API
+func CreateDeleteStackRequest() (request *DeleteStackRequest) {
+	request = &DeleteStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DeleteStack", "/stacks/[StackName]/[StackId]", "", "")
+	request.Method = requests.DELETE
+	return
+}
+
+// CreateDeleteStackResponse creates a response to parse from DeleteStack response
+func CreateDeleteStackResponse() (response *DeleteStackResponse) {
+	response = &DeleteStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/ros/describe_events.go

@@ -0,0 +1,109 @@
+package ros
+
+//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"
+)
+
+// DescribeEvents invokes the ros.DescribeEvents API synchronously
+// api document: https://help.aliyun.com/api/ros/describeevents.html
+func (client *Client) DescribeEvents(request *DescribeEventsRequest) (response *DescribeEventsResponse, err error) {
+	response = CreateDescribeEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeEventsWithChan invokes the ros.DescribeEvents API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEventsWithChan(request *DescribeEventsRequest) (<-chan *DescribeEventsResponse, <-chan error) {
+	responseChan := make(chan *DescribeEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeEventsWithCallback invokes the ros.DescribeEvents API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeEventsWithCallback(request *DescribeEventsRequest, callback func(response *DescribeEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeEventsRequest is the request struct for api DescribeEvents
+type DescribeEventsRequest struct {
+	*requests.RoaRequest
+	StackId        string           `position:"Path" name:"StackId"`
+	PageSize       requests.Integer `position:"Query" name:"PageSize"`
+	StackName      string           `position:"Path" name:"StackName"`
+	ResourceName   string           `position:"Query" name:"ResourceName"`
+	ResourceStatus string           `position:"Query" name:"ResourceStatus"`
+	ResourceType   string           `position:"Query" name:"ResourceType"`
+	PageNumber     requests.Integer `position:"Query" name:"PageNumber"`
+}
+
+// DescribeEventsResponse is the response struct for api DescribeEvents
+type DescribeEventsResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeEventsRequest creates a request to invoke DescribeEvents API
+func CreateDescribeEventsRequest() (request *DescribeEventsRequest) {
+	request = &DescribeEventsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeEvents", "/stacks/[StackName]/[StackId]/events", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeEventsResponse creates a response to parse from DescribeEvents response
+func CreateDescribeEventsResponse() (response *DescribeEventsResponse) {
+	response = &DescribeEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ros/describe_regions.go

@@ -0,0 +1,102 @@
+package ros
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// DescribeRegions invokes the ros.DescribeRegions API synchronously
+// api document: https://help.aliyun.com/api/ros/describeregions.html
+func (client *Client) DescribeRegions(request *DescribeRegionsRequest) (response *DescribeRegionsResponse, err error) {
+	response = CreateDescribeRegionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeRegionsWithChan invokes the ros.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithChan(request *DescribeRegionsRequest) (<-chan *DescribeRegionsResponse, <-chan error) {
+	responseChan := make(chan *DescribeRegionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeRegions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeRegionsWithCallback invokes the ros.DescribeRegions API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeregions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsRequest, callback func(response *DescribeRegionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeRegionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeRegions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeRegionsRequest is the request struct for api DescribeRegions
+type DescribeRegionsRequest struct {
+	*requests.RoaRequest
+}
+
+// DescribeRegionsResponse is the response struct for api DescribeRegions
+type DescribeRegionsResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
+func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
+	request = &DescribeRegionsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeRegions", "/regions", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeRegionsResponse creates a response to parse from DescribeRegions response
+func CreateDescribeRegionsResponse() (response *DescribeRegionsResponse) {
+	response = &DescribeRegionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ros/describe_resource_detail.go

@@ -0,0 +1,105 @@
+package ros
+
+//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"
+)
+
+// DescribeResourceDetail invokes the ros.DescribeResourceDetail API synchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcedetail.html
+func (client *Client) DescribeResourceDetail(request *DescribeResourceDetailRequest) (response *DescribeResourceDetailResponse, err error) {
+	response = CreateDescribeResourceDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourceDetailWithChan invokes the ros.DescribeResourceDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceDetailWithChan(request *DescribeResourceDetailRequest) (<-chan *DescribeResourceDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourceDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourceDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourceDetailWithCallback invokes the ros.DescribeResourceDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceDetailWithCallback(request *DescribeResourceDetailRequest, callback func(response *DescribeResourceDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourceDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourceDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourceDetailRequest is the request struct for api DescribeResourceDetail
+type DescribeResourceDetailRequest struct {
+	*requests.RoaRequest
+	StackId      string `position:"Path" name:"StackId"`
+	StackName    string `position:"Path" name:"StackName"`
+	ResourceName string `position:"Path" name:"ResourceName"`
+}
+
+// DescribeResourceDetailResponse is the response struct for api DescribeResourceDetail
+type DescribeResourceDetailResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeResourceDetailRequest creates a request to invoke DescribeResourceDetail API
+func CreateDescribeResourceDetailRequest() (request *DescribeResourceDetailRequest) {
+	request = &DescribeResourceDetailRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeResourceDetail", "/stacks/[StackName]/[StackId]/resources/[ResourceName]", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeResourceDetailResponse creates a response to parse from DescribeResourceDetail response
+func CreateDescribeResourceDetailResponse() (response *DescribeResourceDetailResponse) {
+	response = &DescribeResourceDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/ros/describe_resource_type_detail.go

@@ -0,0 +1,103 @@
+package ros
+
+//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"
+)
+
+// DescribeResourceTypeDetail invokes the ros.DescribeResourceTypeDetail API synchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypedetail.html
+func (client *Client) DescribeResourceTypeDetail(request *DescribeResourceTypeDetailRequest) (response *DescribeResourceTypeDetailResponse, err error) {
+	response = CreateDescribeResourceTypeDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourceTypeDetailWithChan invokes the ros.DescribeResourceTypeDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypeDetailWithChan(request *DescribeResourceTypeDetailRequest) (<-chan *DescribeResourceTypeDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourceTypeDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourceTypeDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourceTypeDetailWithCallback invokes the ros.DescribeResourceTypeDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypedetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypeDetailWithCallback(request *DescribeResourceTypeDetailRequest, callback func(response *DescribeResourceTypeDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourceTypeDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourceTypeDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourceTypeDetailRequest is the request struct for api DescribeResourceTypeDetail
+type DescribeResourceTypeDetailRequest struct {
+	*requests.RoaRequest
+	TypeName string `position:"Path" name:"TypeName"`
+}
+
+// DescribeResourceTypeDetailResponse is the response struct for api DescribeResourceTypeDetail
+type DescribeResourceTypeDetailResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeResourceTypeDetailRequest creates a request to invoke DescribeResourceTypeDetail API
+func CreateDescribeResourceTypeDetailRequest() (request *DescribeResourceTypeDetailRequest) {
+	request = &DescribeResourceTypeDetailRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeResourceTypeDetail", "/resource_types/[TypeName]", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeResourceTypeDetailResponse creates a response to parse from DescribeResourceTypeDetail response
+func CreateDescribeResourceTypeDetailResponse() (response *DescribeResourceTypeDetailResponse) {
+	response = &DescribeResourceTypeDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/ros/describe_resource_type_template.go

@@ -0,0 +1,103 @@
+package ros
+
+//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"
+)
+
+// DescribeResourceTypeTemplate invokes the ros.DescribeResourceTypeTemplate API synchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypetemplate.html
+func (client *Client) DescribeResourceTypeTemplate(request *DescribeResourceTypeTemplateRequest) (response *DescribeResourceTypeTemplateResponse, err error) {
+	response = CreateDescribeResourceTypeTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourceTypeTemplateWithChan invokes the ros.DescribeResourceTypeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypeTemplateWithChan(request *DescribeResourceTypeTemplateRequest) (<-chan *DescribeResourceTypeTemplateResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourceTypeTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourceTypeTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourceTypeTemplateWithCallback invokes the ros.DescribeResourceTypeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypeTemplateWithCallback(request *DescribeResourceTypeTemplateRequest, callback func(response *DescribeResourceTypeTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourceTypeTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourceTypeTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourceTypeTemplateRequest is the request struct for api DescribeResourceTypeTemplate
+type DescribeResourceTypeTemplateRequest struct {
+	*requests.RoaRequest
+	TypeName string `position:"Path" name:"TypeName"`
+}
+
+// DescribeResourceTypeTemplateResponse is the response struct for api DescribeResourceTypeTemplate
+type DescribeResourceTypeTemplateResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeResourceTypeTemplateRequest creates a request to invoke DescribeResourceTypeTemplate API
+func CreateDescribeResourceTypeTemplateRequest() (request *DescribeResourceTypeTemplateRequest) {
+	request = &DescribeResourceTypeTemplateRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeResourceTypeTemplate", "/resource_types/[TypeName]/template", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeResourceTypeTemplateResponse creates a response to parse from DescribeResourceTypeTemplate response
+func CreateDescribeResourceTypeTemplateResponse() (response *DescribeResourceTypeTemplateResponse) {
+	response = &DescribeResourceTypeTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/ros/describe_resource_types.go

@@ -0,0 +1,103 @@
+package ros
+
+//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"
+)
+
+// DescribeResourceTypes invokes the ros.DescribeResourceTypes API synchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypes.html
+func (client *Client) DescribeResourceTypes(request *DescribeResourceTypesRequest) (response *DescribeResourceTypesResponse, err error) {
+	response = CreateDescribeResourceTypesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourceTypesWithChan invokes the ros.DescribeResourceTypes API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypesWithChan(request *DescribeResourceTypesRequest) (<-chan *DescribeResourceTypesResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourceTypesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResourceTypes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourceTypesWithCallback invokes the ros.DescribeResourceTypes API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresourcetypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourceTypesWithCallback(request *DescribeResourceTypesRequest, callback func(response *DescribeResourceTypesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourceTypesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResourceTypes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourceTypesRequest is the request struct for api DescribeResourceTypes
+type DescribeResourceTypesRequest struct {
+	*requests.RoaRequest
+	SupportStatus string `position:"Query" name:"SupportStatus"`
+}
+
+// DescribeResourceTypesResponse is the response struct for api DescribeResourceTypes
+type DescribeResourceTypesResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeResourceTypesRequest creates a request to invoke DescribeResourceTypes API
+func CreateDescribeResourceTypesRequest() (request *DescribeResourceTypesRequest) {
+	request = &DescribeResourceTypesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeResourceTypes", "/resource_types", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeResourceTypesResponse creates a response to parse from DescribeResourceTypes response
+func CreateDescribeResourceTypesResponse() (response *DescribeResourceTypesResponse) {
+	response = &DescribeResourceTypesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/describe_resources.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// DescribeResources invokes the ros.DescribeResources API synchronously
+// api document: https://help.aliyun.com/api/ros/describeresources.html
+func (client *Client) DescribeResources(request *DescribeResourcesRequest) (response *DescribeResourcesResponse, err error) {
+	response = CreateDescribeResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeResourcesWithChan invokes the ros.DescribeResources API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcesWithChan(request *DescribeResourcesRequest) (<-chan *DescribeResourcesResponse, <-chan error) {
+	responseChan := make(chan *DescribeResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeResourcesWithCallback invokes the ros.DescribeResources API asynchronously
+// api document: https://help.aliyun.com/api/ros/describeresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeResourcesWithCallback(request *DescribeResourcesRequest, callback func(response *DescribeResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeResourcesRequest is the request struct for api DescribeResources
+type DescribeResourcesRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DescribeResourcesResponse is the response struct for api DescribeResources
+type DescribeResourcesResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeResourcesRequest creates a request to invoke DescribeResources API
+func CreateDescribeResourcesRequest() (request *DescribeResourcesRequest) {
+	request = &DescribeResourcesRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeResources", "/stacks/[StackName]/[StackId]/resources", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeResourcesResponse creates a response to parse from DescribeResources response
+func CreateDescribeResourcesResponse() (response *DescribeResourcesResponse) {
+	response = &DescribeResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/describe_stack_detail.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// DescribeStackDetail invokes the ros.DescribeStackDetail API synchronously
+// api document: https://help.aliyun.com/api/ros/describestackdetail.html
+func (client *Client) DescribeStackDetail(request *DescribeStackDetailRequest) (response *DescribeStackDetailResponse, err error) {
+	response = CreateDescribeStackDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStackDetailWithChan invokes the ros.DescribeStackDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describestackdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStackDetailWithChan(request *DescribeStackDetailRequest) (<-chan *DescribeStackDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeStackDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStackDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStackDetailWithCallback invokes the ros.DescribeStackDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describestackdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStackDetailWithCallback(request *DescribeStackDetailRequest, callback func(response *DescribeStackDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStackDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStackDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStackDetailRequest is the request struct for api DescribeStackDetail
+type DescribeStackDetailRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DescribeStackDetailResponse is the response struct for api DescribeStackDetail
+type DescribeStackDetailResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeStackDetailRequest creates a request to invoke DescribeStackDetail API
+func CreateDescribeStackDetailRequest() (request *DescribeStackDetailRequest) {
+	request = &DescribeStackDetailRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeStackDetail", "/stacks/[StackName]/[StackId]", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeStackDetailResponse creates a response to parse from DescribeStackDetail response
+func CreateDescribeStackDetailResponse() (response *DescribeStackDetailResponse) {
+	response = &DescribeStackDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ros/describe_stacks.go

@@ -0,0 +1,107 @@
+package ros
+
+//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"
+)
+
+// DescribeStacks invokes the ros.DescribeStacks API synchronously
+// api document: https://help.aliyun.com/api/ros/describestacks.html
+func (client *Client) DescribeStacks(request *DescribeStacksRequest) (response *DescribeStacksResponse, err error) {
+	response = CreateDescribeStacksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeStacksWithChan invokes the ros.DescribeStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/describestacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStacksWithChan(request *DescribeStacksRequest) (<-chan *DescribeStacksResponse, <-chan error) {
+	responseChan := make(chan *DescribeStacksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeStacks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeStacksWithCallback invokes the ros.DescribeStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/describestacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeStacksWithCallback(request *DescribeStacksRequest, callback func(response *DescribeStacksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeStacksResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeStacks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeStacksRequest is the request struct for api DescribeStacks
+type DescribeStacksRequest struct {
+	*requests.RoaRequest
+	StackId    string           `position:"Query" name:"StackId"`
+	Name       string           `position:"Query" name:"Name"`
+	PageSize   requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber requests.Integer `position:"Query" name:"PageNumber"`
+	Status     string           `position:"Query" name:"Status"`
+}
+
+// DescribeStacksResponse is the response struct for api DescribeStacks
+type DescribeStacksResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeStacksRequest creates a request to invoke DescribeStacks API
+func CreateDescribeStacksRequest() (request *DescribeStacksRequest) {
+	request = &DescribeStacksRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeStacks", "/stacks", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeStacksResponse creates a response to parse from DescribeStacks response
+func CreateDescribeStacksResponse() (response *DescribeStacksResponse) {
+	response = &DescribeStacksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/describe_template.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// DescribeTemplate invokes the ros.DescribeTemplate API synchronously
+// api document: https://help.aliyun.com/api/ros/describetemplate.html
+func (client *Client) DescribeTemplate(request *DescribeTemplateRequest) (response *DescribeTemplateResponse, err error) {
+	response = CreateDescribeTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeTemplateWithChan invokes the ros.DescribeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/describetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTemplateWithChan(request *DescribeTemplateRequest) (<-chan *DescribeTemplateResponse, <-chan error) {
+	responseChan := make(chan *DescribeTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeTemplateWithCallback invokes the ros.DescribeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/describetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeTemplateWithCallback(request *DescribeTemplateRequest, callback func(response *DescribeTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeTemplateRequest is the request struct for api DescribeTemplate
+type DescribeTemplateRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DescribeTemplateResponse is the response struct for api DescribeTemplate
+type DescribeTemplateResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDescribeTemplateRequest creates a request to invoke DescribeTemplate API
+func CreateDescribeTemplateRequest() (request *DescribeTemplateRequest) {
+	request = &DescribeTemplateRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeTemplate", "/stacks/[StackName]/[StackId]/template", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeTemplateResponse creates a response to parse from DescribeTemplate response
+func CreateDescribeTemplateResponse() (response *DescribeTemplateResponse) {
+	response = &DescribeTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/do_actions.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// DoActions invokes the ros.DoActions API synchronously
+// api document: https://help.aliyun.com/api/ros/doactions.html
+func (client *Client) DoActions(request *DoActionsRequest) (response *DoActionsResponse, err error) {
+	response = CreateDoActionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DoActionsWithChan invokes the ros.DoActions API asynchronously
+// api document: https://help.aliyun.com/api/ros/doactions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DoActionsWithChan(request *DoActionsRequest) (<-chan *DoActionsResponse, <-chan error) {
+	responseChan := make(chan *DoActionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DoActions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DoActionsWithCallback invokes the ros.DoActions API asynchronously
+// api document: https://help.aliyun.com/api/ros/doactions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DoActionsWithCallback(request *DoActionsRequest, callback func(response *DoActionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DoActionsResponse
+		var err error
+		defer close(result)
+		response, err = client.DoActions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DoActionsRequest is the request struct for api DoActions
+type DoActionsRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DoActionsResponse is the response struct for api DoActions
+type DoActionsResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateDoActionsRequest creates a request to invoke DoActions API
+func CreateDoActionsRequest() (request *DoActionsRequest) {
+	request = &DoActionsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DoActions", "/stacks/[StackName]/[StackId]/actions", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateDoActionsResponse creates a response to parse from DoActions response
+func CreateDoActionsResponse() (response *DoActionsResponse) {
+	response = &DoActionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/get_stack_policy.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// GetStackPolicy invokes the ros.GetStackPolicy API synchronously
+// api document: https://help.aliyun.com/api/ros/getstackpolicy.html
+func (client *Client) GetStackPolicy(request *GetStackPolicyRequest) (response *GetStackPolicyResponse, err error) {
+	response = CreateGetStackPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetStackPolicyWithChan invokes the ros.GetStackPolicy API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstackpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackPolicyWithChan(request *GetStackPolicyRequest) (<-chan *GetStackPolicyResponse, <-chan error) {
+	responseChan := make(chan *GetStackPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStackPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetStackPolicyWithCallback invokes the ros.GetStackPolicy API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstackpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackPolicyWithCallback(request *GetStackPolicyRequest, callback func(response *GetStackPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStackPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStackPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetStackPolicyRequest is the request struct for api GetStackPolicy
+type GetStackPolicyRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// GetStackPolicyResponse is the response struct for api GetStackPolicy
+type GetStackPolicyResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateGetStackPolicyRequest creates a request to invoke GetStackPolicy API
+func CreateGetStackPolicyRequest() (request *GetStackPolicyRequest) {
+	request = &GetStackPolicyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "GetStackPolicy", "/stacks/[StackName]/[StackId]/policy", "", "")
+	request.Method = requests.GET
+	return
+}
+
+// CreateGetStackPolicyResponse creates a response to parse from GetStackPolicy response
+func CreateGetStackPolicyResponse() (response *GetStackPolicyResponse) {
+	response = &GetStackPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ros/inquiry_stack.go

@@ -0,0 +1,102 @@
+package ros
+
+//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"
+)
+
+// InquiryStack invokes the ros.InquiryStack API synchronously
+// api document: https://help.aliyun.com/api/ros/inquirystack.html
+func (client *Client) InquiryStack(request *InquiryStackRequest) (response *InquiryStackResponse, err error) {
+	response = CreateInquiryStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// InquiryStackWithChan invokes the ros.InquiryStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/inquirystack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InquiryStackWithChan(request *InquiryStackRequest) (<-chan *InquiryStackResponse, <-chan error) {
+	responseChan := make(chan *InquiryStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.InquiryStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// InquiryStackWithCallback invokes the ros.InquiryStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/inquirystack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) InquiryStackWithCallback(request *InquiryStackRequest, callback func(response *InquiryStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *InquiryStackResponse
+		var err error
+		defer close(result)
+		response, err = client.InquiryStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// InquiryStackRequest is the request struct for api InquiryStack
+type InquiryStackRequest struct {
+	*requests.RoaRequest
+}
+
+// InquiryStackResponse is the response struct for api InquiryStack
+type InquiryStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateInquiryStackRequest creates a request to invoke InquiryStack API
+func CreateInquiryStackRequest() (request *InquiryStackRequest) {
+	request = &InquiryStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "InquiryStack", "/stacks/inquiry", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateInquiryStackResponse creates a response to parse from InquiryStack response
+func CreateInquiryStackResponse() (response *InquiryStackResponse) {
+	response = &InquiryStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ros/preview_stack.go

@@ -0,0 +1,102 @@
+package ros
+
+//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"
+)
+
+// PreviewStack invokes the ros.PreviewStack API synchronously
+// api document: https://help.aliyun.com/api/ros/previewstack.html
+func (client *Client) PreviewStack(request *PreviewStackRequest) (response *PreviewStackResponse, err error) {
+	response = CreatePreviewStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// PreviewStackWithChan invokes the ros.PreviewStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/previewstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreviewStackWithChan(request *PreviewStackRequest) (<-chan *PreviewStackResponse, <-chan error) {
+	responseChan := make(chan *PreviewStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.PreviewStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// PreviewStackWithCallback invokes the ros.PreviewStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/previewstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) PreviewStackWithCallback(request *PreviewStackRequest, callback func(response *PreviewStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *PreviewStackResponse
+		var err error
+		defer close(result)
+		response, err = client.PreviewStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// PreviewStackRequest is the request struct for api PreviewStack
+type PreviewStackRequest struct {
+	*requests.RoaRequest
+}
+
+// PreviewStackResponse is the response struct for api PreviewStack
+type PreviewStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreatePreviewStackRequest creates a request to invoke PreviewStack API
+func CreatePreviewStackRequest() (request *PreviewStackRequest) {
+	request = &PreviewStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "PreviewStack", "/stacks/preview", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreatePreviewStackResponse creates a response to parse from PreviewStack response
+func CreatePreviewStackResponse() (response *PreviewStackResponse) {
+	response = &PreviewStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/set_stack_policy.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// SetStackPolicy invokes the ros.SetStackPolicy API synchronously
+// api document: https://help.aliyun.com/api/ros/setstackpolicy.html
+func (client *Client) SetStackPolicy(request *SetStackPolicyRequest) (response *SetStackPolicyResponse, err error) {
+	response = CreateSetStackPolicyResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SetStackPolicyWithChan invokes the ros.SetStackPolicy API asynchronously
+// api document: https://help.aliyun.com/api/ros/setstackpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetStackPolicyWithChan(request *SetStackPolicyRequest) (<-chan *SetStackPolicyResponse, <-chan error) {
+	responseChan := make(chan *SetStackPolicyResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SetStackPolicy(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SetStackPolicyWithCallback invokes the ros.SetStackPolicy API asynchronously
+// api document: https://help.aliyun.com/api/ros/setstackpolicy.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SetStackPolicyWithCallback(request *SetStackPolicyRequest, callback func(response *SetStackPolicyResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SetStackPolicyResponse
+		var err error
+		defer close(result)
+		response, err = client.SetStackPolicy(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SetStackPolicyRequest is the request struct for api SetStackPolicy
+type SetStackPolicyRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// SetStackPolicyResponse is the response struct for api SetStackPolicy
+type SetStackPolicyResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateSetStackPolicyRequest creates a request to invoke SetStackPolicy API
+func CreateSetStackPolicyRequest() (request *SetStackPolicyRequest) {
+	request = &SetStackPolicyRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "SetStackPolicy", "/stacks/[StackName]/[StackId]/policy", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateSetStackPolicyResponse creates a response to parse from SetStackPolicy response
+func CreateSetStackPolicyResponse() (response *SetStackPolicyResponse) {
+	response = &SetStackPolicyResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/update_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//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"
+)
+
+// UpdateStack invokes the ros.UpdateStack API synchronously
+// api document: https://help.aliyun.com/api/ros/updatestack.html
+func (client *Client) UpdateStack(request *UpdateStackRequest) (response *UpdateStackResponse, err error) {
+	response = CreateUpdateStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// UpdateStackWithChan invokes the ros.UpdateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/updatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateStackWithChan(request *UpdateStackRequest) (<-chan *UpdateStackResponse, <-chan error) {
+	responseChan := make(chan *UpdateStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.UpdateStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// UpdateStackWithCallback invokes the ros.UpdateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/updatestack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) UpdateStackWithCallback(request *UpdateStackRequest, callback func(response *UpdateStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *UpdateStackResponse
+		var err error
+		defer close(result)
+		response, err = client.UpdateStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// UpdateStackRequest is the request struct for api UpdateStack
+type UpdateStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// UpdateStackResponse is the response struct for api UpdateStack
+type UpdateStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateUpdateStackRequest creates a request to invoke UpdateStack API
+func CreateUpdateStackRequest() (request *UpdateStackRequest) {
+	request = &UpdateStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "UpdateStack", "/stacks/[StackName]/[StackId]", "", "")
+	request.Method = requests.PUT
+	return
+}
+
+// CreateUpdateStackResponse creates a response to parse from UpdateStack response
+func CreateUpdateStackResponse() (response *UpdateStackResponse) {
+	response = &UpdateStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 102 - 0
services/ros/validate_template.go

@@ -0,0 +1,102 @@
+package ros
+
+//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"
+)
+
+// ValidateTemplate invokes the ros.ValidateTemplate API synchronously
+// api document: https://help.aliyun.com/api/ros/validatetemplate.html
+func (client *Client) ValidateTemplate(request *ValidateTemplateRequest) (response *ValidateTemplateResponse, err error) {
+	response = CreateValidateTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ValidateTemplateWithChan invokes the ros.ValidateTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/validatetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ValidateTemplateWithChan(request *ValidateTemplateRequest) (<-chan *ValidateTemplateResponse, <-chan error) {
+	responseChan := make(chan *ValidateTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ValidateTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ValidateTemplateWithCallback invokes the ros.ValidateTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/validatetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ValidateTemplateWithCallback(request *ValidateTemplateRequest, callback func(response *ValidateTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ValidateTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.ValidateTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ValidateTemplateRequest is the request struct for api ValidateTemplate
+type ValidateTemplateRequest struct {
+	*requests.RoaRequest
+}
+
+// ValidateTemplateResponse is the response struct for api ValidateTemplate
+type ValidateTemplateResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateValidateTemplateRequest creates a request to invoke ValidateTemplate API
+func CreateValidateTemplateRequest() (request *ValidateTemplateRequest) {
+	request = &ValidateTemplateRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "ValidateTemplate", "/validate", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateValidateTemplateResponse creates a response to parse from ValidateTemplate response
+func CreateValidateTemplateResponse() (response *ValidateTemplateResponse) {
+	response = &ValidateTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 107 - 0
services/ros/wait_conditions.go

@@ -0,0 +1,107 @@
+package ros
+
+//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"
+)
+
+// WaitConditions invokes the ros.WaitConditions API synchronously
+// api document: https://help.aliyun.com/api/ros/waitconditions.html
+func (client *Client) WaitConditions(request *WaitConditionsRequest) (response *WaitConditionsResponse, err error) {
+	response = CreateWaitConditionsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// WaitConditionsWithChan invokes the ros.WaitConditions API asynchronously
+// api document: https://help.aliyun.com/api/ros/waitconditions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) WaitConditionsWithChan(request *WaitConditionsRequest) (<-chan *WaitConditionsResponse, <-chan error) {
+	responseChan := make(chan *WaitConditionsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.WaitConditions(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// WaitConditionsWithCallback invokes the ros.WaitConditions API asynchronously
+// api document: https://help.aliyun.com/api/ros/waitconditions.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) WaitConditionsWithCallback(request *WaitConditionsRequest, callback func(response *WaitConditionsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *WaitConditionsResponse
+		var err error
+		defer close(result)
+		response, err = client.WaitConditions(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// WaitConditionsRequest is the request struct for api WaitConditions
+type WaitConditionsRequest struct {
+	*requests.RoaRequest
+	Resource  string `position:"Query" name:"resource"`
+	Signature string `position:"Query" name:"signature"`
+	Stackid   string `position:"Query" name:"stackid"`
+	Expire    string `position:"Query" name:"expire"`
+	Stackname string `position:"Query" name:"stackname"`
+}
+
+// WaitConditionsResponse is the response struct for api WaitConditions
+type WaitConditionsResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateWaitConditionsRequest creates a request to invoke WaitConditions API
+func CreateWaitConditionsRequest() (request *WaitConditionsRequest) {
+	request = &WaitConditionsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "WaitConditions", "/waitcondition", "", "")
+	request.Method = requests.POST
+	return
+}
+
+// CreateWaitConditionsResponse creates a response to parse from WaitConditions response
+func CreateWaitConditionsResponse() (response *WaitConditionsResponse) {
+	response = &WaitConditionsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}