浏览代码

Release Apis of Version 2019-09-10.

sdk-team 6 年之前
父节点
当前提交
1a90bbb49d
共有 61 个文件被更改,包括 2452 次插入1514 次删除
  1. 3 0
      ChangeLog.txt
  2. 0 104
      services/ros/abandon_stack.go
  3. 6 6
      services/ros/cancel_update_stack.go
  4. 28 5
      services/ros/client.go
  5. 7 6
      services/ros/continue_create_stack.go
  6. 131 0
      services/ros/create_change_set.go
  7. 122 0
      services/ros/create_stack.go
  8. 0 102
      services/ros/create_stacks.go
  9. 103 0
      services/ros/delete_change_set.go
  10. 6 6
      services/ros/delete_stack.go
  11. 0 109
      services/ros/describe_events.go
  12. 6 4
      services/ros/describe_regions.go
  13. 0 105
      services/ros/describe_resource_detail.go
  14. 0 103
      services/ros/describe_resource_type_detail.go
  15. 0 103
      services/ros/describe_resource_type_template.go
  16. 0 103
      services/ros/describe_resource_types.go
  17. 0 104
      services/ros/describe_resources.go
  18. 0 104
      services/ros/describe_stack_detail.go
  19. 0 107
      services/ros/describe_stacks.go
  20. 0 104
      services/ros/describe_template.go
  21. 0 104
      services/ros/do_actions.go
  22. 103 0
      services/ros/execute_change_set.go
  23. 119 0
      services/ros/get_change_set.go
  24. 106 0
      services/ros/get_resource_type.go
  25. 104 0
      services/ros/get_resource_type_template.go
  26. 119 0
      services/ros/get_stack.go
  27. 6 6
      services/ros/get_stack_policy.go
  28. 118 0
      services/ros/get_stack_resource.go
  29. 105 0
      services/ros/get_template.go
  30. 113 0
      services/ros/get_template_estimate_cost.go
  31. 0 102
      services/ros/inquiry_stack.go
  32. 112 0
      services/ros/list_change_sets.go
  33. 103 0
      services/ros/list_resource_types.go
  34. 112 0
      services/ros/list_stack_events.go
  35. 104 0
      services/ros/list_stack_resources.go
  36. 112 0
      services/ros/list_stacks.go
  37. 20 4
      services/ros/preview_stack.go
  38. 7 6
      services/ros/set_stack_policy.go
  39. 108 0
      services/ros/signal_resource.go
  40. 30 0
      services/ros/struct_change_set.go
  41. 21 0
      services/ros/struct_change_sets.go
  42. 21 0
      services/ros/struct_changes.go
  43. 29 0
      services/ros/struct_event.go
  44. 21 0
      services/ros/struct_events.go
  45. 21 0
      services/ros/struct_notification_ur_ls.go
  46. 21 0
      services/ros/struct_outputs.go
  47. 22 0
      services/ros/struct_parameter.go
  48. 21 0
      services/ros/struct_parameters_in_get_change_set.go
  49. 21 0
      services/ros/struct_parameters_in_get_stack.go
  50. 21 0
      services/ros/struct_parameters_in_validate_template.go
  51. 23 0
      services/ros/struct_region.go
  52. 21 0
      services/ros/struct_regions.go
  53. 29 0
      services/ros/struct_resource.go
  54. 21 0
      services/ros/struct_resource_attributes.go
  55. 21 0
      services/ros/struct_resource_types.go
  56. 21 0
      services/ros/struct_resources.go
  57. 30 0
      services/ros/struct_stack.go
  58. 21 0
      services/ros/struct_stacks.go
  59. 25 6
      services/ros/update_stack.go
  60. 8 4
      services/ros/validate_template.go
  61. 0 107
      services/ros/wait_conditions.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-08-30 Version: 1.60.130
+- Release Apis of Version 2019-09-10.
+
 2019-08-30 Version: 1.60.129
 - Support latest DRDS Open API for version 2019-01-23.
 

+ 0 - 104
services/ros/abandon_stack.go

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

+ 6 - 6
services/ros/cancel_update_stack.go

@@ -75,23 +75,23 @@ func (client *Client) CancelUpdateStackWithCallback(request *CancelUpdateStackRe
 
 // 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"`
+	*requests.RpcRequest
+	CancelType string `position:"Query" name:"CancelType"`
+	StackId    string `position:"Query" name:"StackId"`
 }
 
 // CancelUpdateStackResponse is the response struct for api CancelUpdateStack
 type CancelUpdateStackResponse struct {
 	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
 // CreateCancelUpdateStackRequest creates a request to invoke CancelUpdateStack API
 func CreateCancelUpdateStackRequest() (request *CancelUpdateStackRequest) {
 	request = &CancelUpdateStackRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "CancelUpdateStack", "/stacks/[StackName]/[StackId]/cancel", "", "")
-	request.Method = requests.PUT
+	request.InitWithApiInfo("ROS", "2019-09-10", "CancelUpdateStack", "ROS", "openAPI")
 	return
 }
 

+ 28 - 5
services/ros/client.go

@@ -18,6 +18,7 @@ package ros
 import (
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
 )
 
 // Client is the sdk client struct, each func corresponds to an OpenAPI
@@ -32,6 +33,20 @@ func NewClient() (client *Client, err error) {
 	return
 }
 
+// NewClientWithProvider creates a sdk client with providers
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithProvider(regionId string, providers ...provider.Provider) (client *Client, err error) {
+	client = &Client{}
+	var pc provider.Provider
+	if len(providers) == 0 {
+		pc = provider.DefaultChain
+	} else {
+		pc = provider.NewProviderChain(providers)
+	}
+	err = client.InitWithProviderChain(regionId, pc)
+	return
+}
+
 // NewClientWithOptions creates a sdk client with regionId/sdkConfig/credential
 // this is the common api to create a sdk client
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
@@ -41,7 +56,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 }
 
 // NewClientWithAccessKey is a shortcut to create sdk client with accesskey
-// usage: https://help.aliyun.com/document_detail/66217.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
@@ -49,7 +64,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 }
 
 // NewClientWithStsToken is a shortcut to create sdk client with sts token
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
@@ -57,15 +72,23 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 }
 
 // NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn
-// usage: https://help.aliyun.com/document_detail/66222.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
 	return
 }
 
+// NewClientWithRamRoleArn is a shortcut to create sdk client with ram roleArn and policy
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
+func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
+	client = &Client{}
+	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	return
+}
+
 // NewClientWithEcsRamRole is a shortcut to create sdk client with ecs ram role
-// usage: https://help.aliyun.com/document_detail/66223.html
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
@@ -73,7 +96,7 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 }
 
 // NewClientWithRsaKeyPair is a shortcut to create sdk client with rsa key pair
-// attention: rsa key pair auth is only Japan regions available
+// usage: https://github.com/aliyun/alibaba-cloud-sdk-go/blob/master/docs/2-Client-EN.md
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)

+ 7 - 6
services/ros/continue_create_stack.go

@@ -75,23 +75,24 @@ func (client *Client) ContinueCreateStackWithCallback(request *ContinueCreateSta
 
 // 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"`
+	*requests.RpcRequest
+	StackId             string    `position:"Query" name:"StackId"`
+	RecreatingResources *[]string `position:"Query" name:"RecreatingResources"  type:"Repeated"`
 }
 
 // ContinueCreateStackResponse is the response struct for api ContinueCreateStack
 type ContinueCreateStackResponse struct {
 	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	StackId   string `json:"StackId" xml:"StackId"`
 }
 
 // CreateContinueCreateStackRequest creates a request to invoke ContinueCreateStack API
 func CreateContinueCreateStackRequest() (request *ContinueCreateStackRequest) {
 	request = &ContinueCreateStackRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "ContinueCreateStack", "/stacks/[StackName]/[StackId]/continue", "", "")
-	request.Method = requests.POST
+	request.InitWithApiInfo("ROS", "2019-09-10", "ContinueCreateStack", "ROS", "openAPI")
 	return
 }
 

+ 131 - 0
services/ros/create_change_set.go

@@ -0,0 +1,131 @@
+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"
+)
+
+// CreateChangeSet invokes the ros.CreateChangeSet API synchronously
+// api document: https://help.aliyun.com/api/ros/createchangeset.html
+func (client *Client) CreateChangeSet(request *CreateChangeSetRequest) (response *CreateChangeSetResponse, err error) {
+	response = CreateCreateChangeSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateChangeSetWithChan invokes the ros.CreateChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/createchangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChangeSetWithChan(request *CreateChangeSetRequest) (<-chan *CreateChangeSetResponse, <-chan error) {
+	responseChan := make(chan *CreateChangeSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateChangeSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateChangeSetWithCallback invokes the ros.CreateChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/createchangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateChangeSetWithCallback(request *CreateChangeSetRequest, callback func(response *CreateChangeSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateChangeSetResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateChangeSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateChangeSetRequest is the request struct for api CreateChangeSet
+type CreateChangeSetRequest struct {
+	*requests.RpcRequest
+	StackPolicyDuringUpdateURL  string                       `position:"Query" name:"StackPolicyDuringUpdateURL"`
+	ClientToken                 string                       `position:"Query" name:"ClientToken"`
+	TemplateBody                string                       `position:"Query" name:"TemplateBody"`
+	StackId                     string                       `position:"Query" name:"StackId"`
+	ChangeSetType               string                       `position:"Query" name:"ChangeSetType"`
+	Description                 string                       `position:"Query" name:"Description"`
+	DisableRollback             requests.Boolean             `position:"Query" name:"DisableRollback"`
+	UpdateAllowPolicy           string                       `position:"Query" name:"UpdateAllowPolicy"`
+	TimeoutInMinutes            requests.Integer             `position:"Query" name:"TimeoutInMinutes"`
+	UsePreviousParameters       requests.Boolean             `position:"Query" name:"UsePreviousParameters"`
+	TemplateURL                 string                       `position:"Query" name:"TemplateURL"`
+	OrderSource                 string                       `position:"Query" name:"OrderSource"`
+	ActivityId                  string                       `position:"Query" name:"ActivityId"`
+	StackPolicyDuringUpdateBody string                       `position:"Query" name:"StackPolicyDuringUpdateBody"`
+	NotificationURLs            *[]string                    `position:"Query" name:"NotificationURLs"  type:"Repeated"`
+	StackPolicyURL              string                       `position:"Query" name:"StackPolicyURL"`
+	ChangeSetName               string                       `position:"Query" name:"ChangeSetName"`
+	StackName                   string                       `position:"Query" name:"StackName"`
+	Parameters                  *[]CreateChangeSetParameters `position:"Query" name:"Parameters"  type:"Repeated"`
+	StackPolicyBody             string                       `position:"Query" name:"StackPolicyBody"`
+	ChannelId                   string                       `position:"Query" name:"ChannelId"`
+}
+
+// CreateChangeSetParameters is a repeated param struct in CreateChangeSetRequest
+type CreateChangeSetParameters struct {
+	ParameterValue string `name:"ParameterValue"`
+	ParameterKey   string `name:"ParameterKey"`
+}
+
+// CreateChangeSetResponse is the response struct for api CreateChangeSet
+type CreateChangeSetResponse struct {
+	*responses.BaseResponse
+	ChangeSetId string `json:"ChangeSetId" xml:"ChangeSetId"`
+	RequestId   string `json:"RequestId" xml:"RequestId"`
+	StackId     string `json:"StackId" xml:"StackId"`
+}
+
+// CreateCreateChangeSetRequest creates a request to invoke CreateChangeSet API
+func CreateCreateChangeSetRequest() (request *CreateChangeSetRequest) {
+	request = &CreateChangeSetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "CreateChangeSet", "ROS", "openAPI")
+	return
+}
+
+// CreateCreateChangeSetResponse creates a response to parse from CreateChangeSet response
+func CreateCreateChangeSetResponse() (response *CreateChangeSetResponse) {
+	response = &CreateChangeSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 122 - 0
services/ros/create_stack.go

@@ -0,0 +1,122 @@
+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"
+)
+
+// CreateStack invokes the ros.CreateStack API synchronously
+// api document: https://help.aliyun.com/api/ros/createstack.html
+func (client *Client) CreateStack(request *CreateStackRequest) (response *CreateStackResponse, err error) {
+	response = CreateCreateStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// CreateStackWithChan invokes the ros.CreateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/createstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStackWithChan(request *CreateStackRequest) (<-chan *CreateStackResponse, <-chan error) {
+	responseChan := make(chan *CreateStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.CreateStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// CreateStackWithCallback invokes the ros.CreateStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/createstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) CreateStackWithCallback(request *CreateStackRequest, callback func(response *CreateStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *CreateStackResponse
+		var err error
+		defer close(result)
+		response, err = client.CreateStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// CreateStackRequest is the request struct for api CreateStack
+type CreateStackRequest struct {
+	*requests.RpcRequest
+	ClientToken      string                   `position:"Query" name:"ClientToken"`
+	TemplateBody     string                   `position:"Query" name:"TemplateBody"`
+	DisableRollback  requests.Boolean         `position:"Query" name:"DisableRollback"`
+	TimeoutInMinutes requests.Integer         `position:"Query" name:"TimeoutInMinutes"`
+	OrderSource      string                   `position:"Query" name:"OrderSource"`
+	TemplateURL      string                   `position:"Query" name:"TemplateURL"`
+	ActivityId       string                   `position:"Query" name:"ActivityId"`
+	NotificationURLs *[]string                `position:"Query" name:"NotificationURLs"  type:"Repeated"`
+	StackPolicyURL   string                   `position:"Query" name:"StackPolicyURL"`
+	StackName        string                   `position:"Query" name:"StackName"`
+	Parameters       *[]CreateStackParameters `position:"Query" name:"Parameters"  type:"Repeated"`
+	StackPolicyBody  string                   `position:"Query" name:"StackPolicyBody"`
+	ChannelId        string                   `position:"Query" name:"ChannelId"`
+}
+
+// CreateStackParameters is a repeated param struct in CreateStackRequest
+type CreateStackParameters struct {
+	ParameterValue string `name:"ParameterValue"`
+	ParameterKey   string `name:"ParameterKey"`
+}
+
+// CreateStackResponse is the response struct for api CreateStack
+type CreateStackResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	StackId   string `json:"StackId" xml:"StackId"`
+}
+
+// CreateCreateStackRequest creates a request to invoke CreateStack API
+func CreateCreateStackRequest() (request *CreateStackRequest) {
+	request = &CreateStackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "CreateStack", "ROS", "openAPI")
+	return
+}
+
+// CreateCreateStackResponse creates a response to parse from CreateStack response
+func CreateCreateStackResponse() (response *CreateStackResponse) {
+	response = &CreateStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 102
services/ros/create_stacks.go

@@ -1,102 +0,0 @@
-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
-}

+ 103 - 0
services/ros/delete_change_set.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"
+)
+
+// DeleteChangeSet invokes the ros.DeleteChangeSet API synchronously
+// api document: https://help.aliyun.com/api/ros/deletechangeset.html
+func (client *Client) DeleteChangeSet(request *DeleteChangeSetRequest) (response *DeleteChangeSetResponse, err error) {
+	response = CreateDeleteChangeSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DeleteChangeSetWithChan invokes the ros.DeleteChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/deletechangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChangeSetWithChan(request *DeleteChangeSetRequest) (<-chan *DeleteChangeSetResponse, <-chan error) {
+	responseChan := make(chan *DeleteChangeSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DeleteChangeSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DeleteChangeSetWithCallback invokes the ros.DeleteChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/deletechangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DeleteChangeSetWithCallback(request *DeleteChangeSetRequest, callback func(response *DeleteChangeSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DeleteChangeSetResponse
+		var err error
+		defer close(result)
+		response, err = client.DeleteChangeSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DeleteChangeSetRequest is the request struct for api DeleteChangeSet
+type DeleteChangeSetRequest struct {
+	*requests.RpcRequest
+	ChangeSetId string `position:"Query" name:"ChangeSetId"`
+}
+
+// DeleteChangeSetResponse is the response struct for api DeleteChangeSet
+type DeleteChangeSetResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateDeleteChangeSetRequest creates a request to invoke DeleteChangeSet API
+func CreateDeleteChangeSetRequest() (request *DeleteChangeSetRequest) {
+	request = &DeleteChangeSetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "DeleteChangeSet", "ROS", "openAPI")
+	return
+}
+
+// CreateDeleteChangeSetResponse creates a response to parse from DeleteChangeSet response
+func CreateDeleteChangeSetResponse() (response *DeleteChangeSetResponse) {
+	response = &DeleteChangeSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 6
services/ros/delete_stack.go

@@ -75,23 +75,23 @@ func (client *Client) DeleteStackWithCallback(request *DeleteStackRequest, callb
 
 // 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"`
+	*requests.RpcRequest
+	RetainAllResources requests.Boolean `position:"Query" name:"RetainAllResources"`
+	StackId            string           `position:"Query" name:"StackId"`
 }
 
 // DeleteStackResponse is the response struct for api DeleteStack
 type DeleteStackResponse struct {
 	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
 // CreateDeleteStackRequest creates a request to invoke DeleteStack API
 func CreateDeleteStackRequest() (request *DeleteStackRequest) {
 	request = &DeleteStackRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "DeleteStack", "/stacks/[StackName]/[StackId]", "", "")
-	request.Method = requests.DELETE
+	request.InitWithApiInfo("ROS", "2019-09-10", "DeleteStack", "ROS", "openAPI")
 	return
 }
 

+ 0 - 109
services/ros/describe_events.go

@@ -1,109 +0,0 @@
-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
-}

+ 6 - 4
services/ros/describe_regions.go

@@ -75,21 +75,23 @@ func (client *Client) DescribeRegionsWithCallback(request *DescribeRegionsReques
 
 // DescribeRegionsRequest is the request struct for api DescribeRegions
 type DescribeRegionsRequest struct {
-	*requests.RoaRequest
+	*requests.RpcRequest
+	AcceptLanguage string `position:"Query" name:"AcceptLanguage"`
 }
 
 // DescribeRegionsResponse is the response struct for api DescribeRegions
 type DescribeRegionsResponse struct {
 	*responses.BaseResponse
+	RequestId string   `json:"RequestId" xml:"RequestId"`
+	Regions   []Region `json:"Regions" xml:"Regions"`
 }
 
 // CreateDescribeRegionsRequest creates a request to invoke DescribeRegions API
 func CreateDescribeRegionsRequest() (request *DescribeRegionsRequest) {
 	request = &DescribeRegionsRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeRegions", "/regions", "", "")
-	request.Method = requests.GET
+	request.InitWithApiInfo("ROS", "2019-09-10", "DescribeRegions", "ROS", "openAPI")
 	return
 }
 

+ 0 - 105
services/ros/describe_resource_detail.go

@@ -1,105 +0,0 @@
-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
-}

+ 0 - 103
services/ros/describe_resource_type_detail.go

@@ -1,103 +0,0 @@
-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
-}

+ 0 - 103
services/ros/describe_resource_type_template.go

@@ -1,103 +0,0 @@
-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
-}

+ 0 - 103
services/ros/describe_resource_types.go

@@ -1,103 +0,0 @@
-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
-}

+ 0 - 104
services/ros/describe_resources.go

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

+ 0 - 104
services/ros/describe_stack_detail.go

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

+ 0 - 107
services/ros/describe_stacks.go

@@ -1,107 +0,0 @@
-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
-}

+ 0 - 104
services/ros/describe_template.go

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

+ 0 - 104
services/ros/do_actions.go

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

+ 103 - 0
services/ros/execute_change_set.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"
+)
+
+// ExecuteChangeSet invokes the ros.ExecuteChangeSet API synchronously
+// api document: https://help.aliyun.com/api/ros/executechangeset.html
+func (client *Client) ExecuteChangeSet(request *ExecuteChangeSetRequest) (response *ExecuteChangeSetResponse, err error) {
+	response = CreateExecuteChangeSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ExecuteChangeSetWithChan invokes the ros.ExecuteChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/executechangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExecuteChangeSetWithChan(request *ExecuteChangeSetRequest) (<-chan *ExecuteChangeSetResponse, <-chan error) {
+	responseChan := make(chan *ExecuteChangeSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ExecuteChangeSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ExecuteChangeSetWithCallback invokes the ros.ExecuteChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/executechangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ExecuteChangeSetWithCallback(request *ExecuteChangeSetRequest, callback func(response *ExecuteChangeSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ExecuteChangeSetResponse
+		var err error
+		defer close(result)
+		response, err = client.ExecuteChangeSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ExecuteChangeSetRequest is the request struct for api ExecuteChangeSet
+type ExecuteChangeSetRequest struct {
+	*requests.RpcRequest
+	ChangeSetId string `position:"Query" name:"ChangeSetId"`
+}
+
+// ExecuteChangeSetResponse is the response struct for api ExecuteChangeSet
+type ExecuteChangeSetResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateExecuteChangeSetRequest creates a request to invoke ExecuteChangeSet API
+func CreateExecuteChangeSetRequest() (request *ExecuteChangeSetRequest) {
+	request = &ExecuteChangeSetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ExecuteChangeSet", "ROS", "openAPI")
+	return
+}
+
+// CreateExecuteChangeSetResponse creates a response to parse from ExecuteChangeSet response
+func CreateExecuteChangeSetResponse() (response *ExecuteChangeSetResponse) {
+	response = &ExecuteChangeSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/ros/get_change_set.go

@@ -0,0 +1,119 @@
+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"
+)
+
+// GetChangeSet invokes the ros.GetChangeSet API synchronously
+// api document: https://help.aliyun.com/api/ros/getchangeset.html
+func (client *Client) GetChangeSet(request *GetChangeSetRequest) (response *GetChangeSetResponse, err error) {
+	response = CreateGetChangeSetResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetChangeSetWithChan invokes the ros.GetChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/getchangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChangeSetWithChan(request *GetChangeSetRequest) (<-chan *GetChangeSetResponse, <-chan error) {
+	responseChan := make(chan *GetChangeSetResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetChangeSet(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetChangeSetWithCallback invokes the ros.GetChangeSet API asynchronously
+// api document: https://help.aliyun.com/api/ros/getchangeset.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetChangeSetWithCallback(request *GetChangeSetRequest, callback func(response *GetChangeSetResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetChangeSetResponse
+		var err error
+		defer close(result)
+		response, err = client.GetChangeSet(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetChangeSetRequest is the request struct for api GetChangeSet
+type GetChangeSetRequest struct {
+	*requests.RpcRequest
+	ChangeSetId  string           `position:"Query" name:"ChangeSetId"`
+	ShowTemplate requests.Boolean `position:"Query" name:"ShowTemplate"`
+}
+
+// GetChangeSetResponse is the response struct for api GetChangeSet
+type GetChangeSetResponse struct {
+	*responses.BaseResponse
+	ChangeSetId      string      `json:"ChangeSetId" xml:"ChangeSetId"`
+	ChangeSetName    string      `json:"ChangeSetName" xml:"ChangeSetName"`
+	ChangeSetType    string      `json:"ChangeSetType" xml:"ChangeSetType"`
+	CreateTime       string      `json:"CreateTime" xml:"CreateTime"`
+	Description      string      `json:"Description" xml:"Description"`
+	DisableRollback  bool        `json:"DisableRollback" xml:"DisableRollback"`
+	ExecutionStatus  string      `json:"ExecutionStatus" xml:"ExecutionStatus"`
+	RegionId         string      `json:"RegionId" xml:"RegionId"`
+	RequestId        string      `json:"RequestId" xml:"RequestId"`
+	StackId          string      `json:"StackId" xml:"StackId"`
+	StackName        string      `json:"StackName" xml:"StackName"`
+	Status           string      `json:"Status" xml:"Status"`
+	TemplateBody     string      `json:"TemplateBody" xml:"TemplateBody"`
+	TimeoutInMinutes int         `json:"TimeoutInMinutes" xml:"TimeoutInMinutes"`
+	Changes          []string    `json:"Changes" xml:"Changes"`
+	Parameters       []Parameter `json:"Parameters" xml:"Parameters"`
+}
+
+// CreateGetChangeSetRequest creates a request to invoke GetChangeSet API
+func CreateGetChangeSetRequest() (request *GetChangeSetRequest) {
+	request = &GetChangeSetRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetChangeSet", "ROS", "openAPI")
+	return
+}
+
+// CreateGetChangeSetResponse creates a response to parse from GetChangeSet response
+func CreateGetChangeSetResponse() (response *GetChangeSetResponse) {
+	response = &GetChangeSetResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 106 - 0
services/ros/get_resource_type.go

@@ -0,0 +1,106 @@
+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"
+)
+
+// GetResourceType invokes the ros.GetResourceType API synchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetype.html
+func (client *Client) GetResourceType(request *GetResourceTypeRequest) (response *GetResourceTypeResponse, err error) {
+	response = CreateGetResourceTypeResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetResourceTypeWithChan invokes the ros.GetResourceType API asynchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourceTypeWithChan(request *GetResourceTypeRequest) (<-chan *GetResourceTypeResponse, <-chan error) {
+	responseChan := make(chan *GetResourceTypeResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetResourceType(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetResourceTypeWithCallback invokes the ros.GetResourceType API asynchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetype.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourceTypeWithCallback(request *GetResourceTypeRequest, callback func(response *GetResourceTypeResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetResourceTypeResponse
+		var err error
+		defer close(result)
+		response, err = client.GetResourceType(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetResourceTypeRequest is the request struct for api GetResourceType
+type GetResourceTypeRequest struct {
+	*requests.RpcRequest
+	ResourceType string `position:"Query" name:"ResourceType"`
+}
+
+// GetResourceTypeResponse is the response struct for api GetResourceType
+type GetResourceTypeResponse struct {
+	*responses.BaseResponse
+	Attributes   map[string]interface{} `json:"Attributes" xml:"Attributes"`
+	Properties   map[string]interface{} `json:"Properties" xml:"Properties"`
+	RequestId    string                 `json:"RequestId" xml:"RequestId"`
+	ResourceType string                 `json:"ResourceType" xml:"ResourceType"`
+}
+
+// CreateGetResourceTypeRequest creates a request to invoke GetResourceType API
+func CreateGetResourceTypeRequest() (request *GetResourceTypeRequest) {
+	request = &GetResourceTypeRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetResourceType", "ROS", "openAPI")
+	return
+}
+
+// CreateGetResourceTypeResponse creates a response to parse from GetResourceType response
+func CreateGetResourceTypeResponse() (response *GetResourceTypeResponse) {
+	response = &GetResourceTypeResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/get_resource_type_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"
+)
+
+// GetResourceTypeTemplate invokes the ros.GetResourceTypeTemplate API synchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetypetemplate.html
+func (client *Client) GetResourceTypeTemplate(request *GetResourceTypeTemplateRequest) (response *GetResourceTypeTemplateResponse, err error) {
+	response = CreateGetResourceTypeTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetResourceTypeTemplateWithChan invokes the ros.GetResourceTypeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetypetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourceTypeTemplateWithChan(request *GetResourceTypeTemplateRequest) (<-chan *GetResourceTypeTemplateResponse, <-chan error) {
+	responseChan := make(chan *GetResourceTypeTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetResourceTypeTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetResourceTypeTemplateWithCallback invokes the ros.GetResourceTypeTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/getresourcetypetemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetResourceTypeTemplateWithCallback(request *GetResourceTypeTemplateRequest, callback func(response *GetResourceTypeTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetResourceTypeTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.GetResourceTypeTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetResourceTypeTemplateRequest is the request struct for api GetResourceTypeTemplate
+type GetResourceTypeTemplateRequest struct {
+	*requests.RpcRequest
+	ResourceType string `position:"Query" name:"ResourceType"`
+}
+
+// GetResourceTypeTemplateResponse is the response struct for api GetResourceTypeTemplate
+type GetResourceTypeTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string                 `json:"RequestId" xml:"RequestId"`
+	TemplateBody map[string]interface{} `json:"TemplateBody" xml:"TemplateBody"`
+}
+
+// CreateGetResourceTypeTemplateRequest creates a request to invoke GetResourceTypeTemplate API
+func CreateGetResourceTypeTemplateRequest() (request *GetResourceTypeTemplateRequest) {
+	request = &GetResourceTypeTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetResourceTypeTemplate", "ROS", "openAPI")
+	return
+}
+
+// CreateGetResourceTypeTemplateResponse creates a response to parse from GetResourceTypeTemplate response
+func CreateGetResourceTypeTemplateResponse() (response *GetResourceTypeTemplateResponse) {
+	response = &GetResourceTypeTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 119 - 0
services/ros/get_stack.go

@@ -0,0 +1,119 @@
+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"
+)
+
+// GetStack invokes the ros.GetStack API synchronously
+// api document: https://help.aliyun.com/api/ros/getstack.html
+func (client *Client) GetStack(request *GetStackRequest) (response *GetStackResponse, err error) {
+	response = CreateGetStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetStackWithChan invokes the ros.GetStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackWithChan(request *GetStackRequest) (<-chan *GetStackResponse, <-chan error) {
+	responseChan := make(chan *GetStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetStackWithCallback invokes the ros.GetStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackWithCallback(request *GetStackRequest, callback func(response *GetStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStackResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetStackRequest is the request struct for api GetStack
+type GetStackRequest struct {
+	*requests.RpcRequest
+	ClientToken string `position:"Query" name:"ClientToken"`
+	StackId     string `position:"Query" name:"StackId"`
+}
+
+// GetStackResponse is the response struct for api GetStack
+type GetStackResponse struct {
+	*responses.BaseResponse
+	CreateTime          string      `json:"CreateTime" xml:"CreateTime"`
+	Description         string      `json:"Description" xml:"Description"`
+	DisableRollback     bool        `json:"DisableRollback" xml:"DisableRollback"`
+	RegionId            string      `json:"RegionId" xml:"RegionId"`
+	RequestId           string      `json:"RequestId" xml:"RequestId"`
+	StackId             string      `json:"StackId" xml:"StackId"`
+	StackName           string      `json:"StackName" xml:"StackName"`
+	Status              string      `json:"Status" xml:"Status"`
+	StatusReason        string      `json:"StatusReason" xml:"StatusReason"`
+	TemplateDescription string      `json:"TemplateDescription" xml:"TemplateDescription"`
+	TimeoutInMinutes    int         `json:"TimeoutInMinutes" xml:"TimeoutInMinutes"`
+	UpdateTime          string      `json:"UpdateTime" xml:"UpdateTime"`
+	ParentStackId       string      `json:"ParentStackId" xml:"ParentStackId"`
+	Outputs             []string    `json:"Outputs" xml:"Outputs"`
+	NotificationURLs    []string    `json:"NotificationURLs" xml:"NotificationURLs"`
+	Parameters          []Parameter `json:"Parameters" xml:"Parameters"`
+}
+
+// CreateGetStackRequest creates a request to invoke GetStack API
+func CreateGetStackRequest() (request *GetStackRequest) {
+	request = &GetStackRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetStack", "ROS", "openAPI")
+	return
+}
+
+// CreateGetStackResponse creates a response to parse from GetStack response
+func CreateGetStackResponse() (response *GetStackResponse) {
+	response = &GetStackResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 6 - 6
services/ros/get_stack_policy.go

@@ -75,23 +75,23 @@ func (client *Client) GetStackPolicyWithCallback(request *GetStackPolicyRequest,
 
 // 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"`
+	*requests.RpcRequest
+	StackId string `position:"Query" name:"StackId"`
 }
 
 // GetStackPolicyResponse is the response struct for api GetStackPolicy
 type GetStackPolicyResponse struct {
 	*responses.BaseResponse
+	RequestId       string                 `json:"RequestId" xml:"RequestId"`
+	StackPolicyBody map[string]interface{} `json:"StackPolicyBody" xml:"StackPolicyBody"`
 }
 
 // CreateGetStackPolicyRequest creates a request to invoke GetStackPolicy API
 func CreateGetStackPolicyRequest() (request *GetStackPolicyRequest) {
 	request = &GetStackPolicyRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "GetStackPolicy", "/stacks/[StackName]/[StackId]/policy", "", "")
-	request.Method = requests.GET
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetStackPolicy", "ROS", "openAPI")
 	return
 }
 

+ 118 - 0
services/ros/get_stack_resource.go

@@ -0,0 +1,118 @@
+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"
+)
+
+// GetStackResource invokes the ros.GetStackResource API synchronously
+// api document: https://help.aliyun.com/api/ros/getstackresource.html
+func (client *Client) GetStackResource(request *GetStackResourceRequest) (response *GetStackResourceResponse, err error) {
+	response = CreateGetStackResourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetStackResourceWithChan invokes the ros.GetStackResource API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstackresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackResourceWithChan(request *GetStackResourceRequest) (<-chan *GetStackResourceResponse, <-chan error) {
+	responseChan := make(chan *GetStackResourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetStackResource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetStackResourceWithCallback invokes the ros.GetStackResource API asynchronously
+// api document: https://help.aliyun.com/api/ros/getstackresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetStackResourceWithCallback(request *GetStackResourceRequest, callback func(response *GetStackResourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetStackResourceResponse
+		var err error
+		defer close(result)
+		response, err = client.GetStackResource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetStackResourceRequest is the request struct for api GetStackResource
+type GetStackResourceRequest struct {
+	*requests.RpcRequest
+	ClientToken            string           `position:"Query" name:"ClientToken"`
+	StackId                string           `position:"Query" name:"StackId"`
+	LogicalResourceId      string           `position:"Query" name:"LogicalResourceId"`
+	ShowResourceAttributes requests.Boolean `position:"Query" name:"ShowResourceAttributes"`
+}
+
+// GetStackResourceResponse is the response struct for api GetStackResource
+type GetStackResourceResponse struct {
+	*responses.BaseResponse
+	CreateTime         string                 `json:"CreateTime" xml:"CreateTime"`
+	Description        string                 `json:"Description" xml:"Description"`
+	LogicalResourceId  string                 `json:"LogicalResourceId" xml:"LogicalResourceId"`
+	Metadata           map[string]interface{} `json:"Metadata" xml:"Metadata"`
+	PhysicalResourceId string                 `json:"PhysicalResourceId" xml:"PhysicalResourceId"`
+	RequestId          string                 `json:"RequestId" xml:"RequestId"`
+	ResourceType       string                 `json:"ResourceType" xml:"ResourceType"`
+	StackId            string                 `json:"StackId" xml:"StackId"`
+	StackName          string                 `json:"StackName" xml:"StackName"`
+	Status             string                 `json:"Status" xml:"Status"`
+	StatusReason       string                 `json:"StatusReason" xml:"StatusReason"`
+	UpdateTime         string                 `json:"UpdateTime" xml:"UpdateTime"`
+	ResourceAttributes []string               `json:"ResourceAttributes" xml:"ResourceAttributes"`
+}
+
+// CreateGetStackResourceRequest creates a request to invoke GetStackResource API
+func CreateGetStackResourceRequest() (request *GetStackResourceRequest) {
+	request = &GetStackResourceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetStackResource", "ROS", "openAPI")
+	return
+}
+
+// CreateGetStackResourceResponse creates a response to parse from GetStackResource response
+func CreateGetStackResourceResponse() (response *GetStackResourceResponse) {
+	response = &GetStackResourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ros/get_template.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"
+)
+
+// GetTemplate invokes the ros.GetTemplate API synchronously
+// api document: https://help.aliyun.com/api/ros/gettemplate.html
+func (client *Client) GetTemplate(request *GetTemplateRequest) (response *GetTemplateResponse, err error) {
+	response = CreateGetTemplateResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTemplateWithChan invokes the ros.GetTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/gettemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTemplateWithChan(request *GetTemplateRequest) (<-chan *GetTemplateResponse, <-chan error) {
+	responseChan := make(chan *GetTemplateResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTemplate(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTemplateWithCallback invokes the ros.GetTemplate API asynchronously
+// api document: https://help.aliyun.com/api/ros/gettemplate.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTemplateWithCallback(request *GetTemplateRequest, callback func(response *GetTemplateResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTemplateResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTemplate(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTemplateRequest is the request struct for api GetTemplate
+type GetTemplateRequest struct {
+	*requests.RpcRequest
+	StackId     string `position:"Query" name:"StackId"`
+	ChangeSetId string `position:"Query" name:"ChangeSetId"`
+}
+
+// GetTemplateResponse is the response struct for api GetTemplate
+type GetTemplateResponse struct {
+	*responses.BaseResponse
+	RequestId    string `json:"RequestId" xml:"RequestId"`
+	TemplateBody string `json:"TemplateBody" xml:"TemplateBody"`
+}
+
+// CreateGetTemplateRequest creates a request to invoke GetTemplate API
+func CreateGetTemplateRequest() (request *GetTemplateRequest) {
+	request = &GetTemplateRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetTemplate", "ROS", "openAPI")
+	return
+}
+
+// CreateGetTemplateResponse creates a response to parse from GetTemplate response
+func CreateGetTemplateResponse() (response *GetTemplateResponse) {
+	response = &GetTemplateResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 113 - 0
services/ros/get_template_estimate_cost.go

@@ -0,0 +1,113 @@
+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"
+)
+
+// GetTemplateEstimateCost invokes the ros.GetTemplateEstimateCost API synchronously
+// api document: https://help.aliyun.com/api/ros/gettemplateestimatecost.html
+func (client *Client) GetTemplateEstimateCost(request *GetTemplateEstimateCostRequest) (response *GetTemplateEstimateCostResponse, err error) {
+	response = CreateGetTemplateEstimateCostResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// GetTemplateEstimateCostWithChan invokes the ros.GetTemplateEstimateCost API asynchronously
+// api document: https://help.aliyun.com/api/ros/gettemplateestimatecost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTemplateEstimateCostWithChan(request *GetTemplateEstimateCostRequest) (<-chan *GetTemplateEstimateCostResponse, <-chan error) {
+	responseChan := make(chan *GetTemplateEstimateCostResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.GetTemplateEstimateCost(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// GetTemplateEstimateCostWithCallback invokes the ros.GetTemplateEstimateCost API asynchronously
+// api document: https://help.aliyun.com/api/ros/gettemplateestimatecost.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) GetTemplateEstimateCostWithCallback(request *GetTemplateEstimateCostRequest, callback func(response *GetTemplateEstimateCostResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *GetTemplateEstimateCostResponse
+		var err error
+		defer close(result)
+		response, err = client.GetTemplateEstimateCost(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// GetTemplateEstimateCostRequest is the request struct for api GetTemplateEstimateCost
+type GetTemplateEstimateCostRequest struct {
+	*requests.RpcRequest
+	ClientToken  string                               `position:"Query" name:"ClientToken"`
+	TemplateBody string                               `position:"Query" name:"TemplateBody"`
+	Parameters   *[]GetTemplateEstimateCostParameters `position:"Query" name:"Parameters"  type:"Repeated"`
+	TemplateURL  string                               `position:"Query" name:"TemplateURL"`
+}
+
+// GetTemplateEstimateCostParameters is a repeated param struct in GetTemplateEstimateCostRequest
+type GetTemplateEstimateCostParameters struct {
+	ParameterValue string `name:"ParameterValue"`
+	ParameterKey   string `name:"ParameterKey"`
+}
+
+// GetTemplateEstimateCostResponse is the response struct for api GetTemplateEstimateCost
+type GetTemplateEstimateCostResponse struct {
+	*responses.BaseResponse
+	RequestId string                 `json:"RequestId" xml:"RequestId"`
+	Resources map[string]interface{} `json:"Resources" xml:"Resources"`
+}
+
+// CreateGetTemplateEstimateCostRequest creates a request to invoke GetTemplateEstimateCost API
+func CreateGetTemplateEstimateCostRequest() (request *GetTemplateEstimateCostRequest) {
+	request = &GetTemplateEstimateCostRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "GetTemplateEstimateCost", "ROS", "openAPI")
+	return
+}
+
+// CreateGetTemplateEstimateCostResponse creates a response to parse from GetTemplateEstimateCost response
+func CreateGetTemplateEstimateCostResponse() (response *GetTemplateEstimateCostResponse) {
+	response = &GetTemplateEstimateCostResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 0 - 102
services/ros/inquiry_stack.go

@@ -1,102 +0,0 @@
-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
-}

+ 112 - 0
services/ros/list_change_sets.go

@@ -0,0 +1,112 @@
+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"
+)
+
+// ListChangeSets invokes the ros.ListChangeSets API synchronously
+// api document: https://help.aliyun.com/api/ros/listchangesets.html
+func (client *Client) ListChangeSets(request *ListChangeSetsRequest) (response *ListChangeSetsResponse, err error) {
+	response = CreateListChangeSetsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListChangeSetsWithChan invokes the ros.ListChangeSets API asynchronously
+// api document: https://help.aliyun.com/api/ros/listchangesets.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChangeSetsWithChan(request *ListChangeSetsRequest) (<-chan *ListChangeSetsResponse, <-chan error) {
+	responseChan := make(chan *ListChangeSetsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListChangeSets(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListChangeSetsWithCallback invokes the ros.ListChangeSets API asynchronously
+// api document: https://help.aliyun.com/api/ros/listchangesets.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListChangeSetsWithCallback(request *ListChangeSetsRequest, callback func(response *ListChangeSetsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListChangeSetsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListChangeSets(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListChangeSetsRequest is the request struct for api ListChangeSets
+type ListChangeSetsRequest struct {
+	*requests.RpcRequest
+	ExecutionStatus *[]string        `position:"Query" name:"ExecutionStatus"  type:"Repeated"`
+	ChangeSetName   *[]string        `position:"Query" name:"ChangeSetName"  type:"Repeated"`
+	StackId         string           `position:"Query" name:"StackId"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+	Status          *[]string        `position:"Query" name:"Status"  type:"Repeated"`
+}
+
+// ListChangeSetsResponse is the response struct for api ListChangeSets
+type ListChangeSetsResponse struct {
+	*responses.BaseResponse
+	PageNumber int         `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int         `json:"PageSize" xml:"PageSize"`
+	RequestId  string      `json:"RequestId" xml:"RequestId"`
+	TotalCount int         `json:"TotalCount" xml:"TotalCount"`
+	ChangeSets []ChangeSet `json:"ChangeSets" xml:"ChangeSets"`
+}
+
+// CreateListChangeSetsRequest creates a request to invoke ListChangeSets API
+func CreateListChangeSetsRequest() (request *ListChangeSetsRequest) {
+	request = &ListChangeSetsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ListChangeSets", "ROS", "openAPI")
+	return
+}
+
+// CreateListChangeSetsResponse creates a response to parse from ListChangeSets response
+func CreateListChangeSetsResponse() (response *ListChangeSetsResponse) {
+	response = &ListChangeSetsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 103 - 0
services/ros/list_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"
+)
+
+// ListResourceTypes invokes the ros.ListResourceTypes API synchronously
+// api document: https://help.aliyun.com/api/ros/listresourcetypes.html
+func (client *Client) ListResourceTypes(request *ListResourceTypesRequest) (response *ListResourceTypesResponse, err error) {
+	response = CreateListResourceTypesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListResourceTypesWithChan invokes the ros.ListResourceTypes API asynchronously
+// api document: https://help.aliyun.com/api/ros/listresourcetypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListResourceTypesWithChan(request *ListResourceTypesRequest) (<-chan *ListResourceTypesResponse, <-chan error) {
+	responseChan := make(chan *ListResourceTypesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListResourceTypes(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListResourceTypesWithCallback invokes the ros.ListResourceTypes API asynchronously
+// api document: https://help.aliyun.com/api/ros/listresourcetypes.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListResourceTypesWithCallback(request *ListResourceTypesRequest, callback func(response *ListResourceTypesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListResourceTypesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListResourceTypes(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListResourceTypesRequest is the request struct for api ListResourceTypes
+type ListResourceTypesRequest struct {
+	*requests.RpcRequest
+}
+
+// ListResourceTypesResponse is the response struct for api ListResourceTypes
+type ListResourceTypesResponse struct {
+	*responses.BaseResponse
+	RequestId     string   `json:"RequestId" xml:"RequestId"`
+	ResourceTypes []string `json:"ResourceTypes" xml:"ResourceTypes"`
+}
+
+// CreateListResourceTypesRequest creates a request to invoke ListResourceTypes API
+func CreateListResourceTypesRequest() (request *ListResourceTypesRequest) {
+	request = &ListResourceTypesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ListResourceTypes", "ROS", "openAPI")
+	return
+}
+
+// CreateListResourceTypesResponse creates a response to parse from ListResourceTypes response
+func CreateListResourceTypesResponse() (response *ListResourceTypesResponse) {
+	response = &ListResourceTypesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/ros/list_stack_events.go

@@ -0,0 +1,112 @@
+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"
+)
+
+// ListStackEvents invokes the ros.ListStackEvents API synchronously
+// api document: https://help.aliyun.com/api/ros/liststackevents.html
+func (client *Client) ListStackEvents(request *ListStackEventsRequest) (response *ListStackEventsResponse, err error) {
+	response = CreateListStackEventsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListStackEventsWithChan invokes the ros.ListStackEvents API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststackevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStackEventsWithChan(request *ListStackEventsRequest) (<-chan *ListStackEventsResponse, <-chan error) {
+	responseChan := make(chan *ListStackEventsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListStackEvents(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListStackEventsWithCallback invokes the ros.ListStackEvents API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststackevents.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStackEventsWithCallback(request *ListStackEventsRequest, callback func(response *ListStackEventsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListStackEventsResponse
+		var err error
+		defer close(result)
+		response, err = client.ListStackEvents(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListStackEventsRequest is the request struct for api ListStackEvents
+type ListStackEventsRequest struct {
+	*requests.RpcRequest
+	StackId           string           `position:"Query" name:"StackId"`
+	PageSize          requests.Integer `position:"Query" name:"PageSize"`
+	LogicalResourceId *[]string        `position:"Query" name:"LogicalResourceId"  type:"Repeated"`
+	ResourceType      *[]string        `position:"Query" name:"ResourceType"  type:"Repeated"`
+	PageNumber        requests.Integer `position:"Query" name:"PageNumber"`
+	Status            *[]string        `position:"Query" name:"Status"  type:"Repeated"`
+}
+
+// ListStackEventsResponse is the response struct for api ListStackEvents
+type ListStackEventsResponse struct {
+	*responses.BaseResponse
+	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	Events     []Event `json:"Events" xml:"Events"`
+}
+
+// CreateListStackEventsRequest creates a request to invoke ListStackEvents API
+func CreateListStackEventsRequest() (request *ListStackEventsRequest) {
+	request = &ListStackEventsRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ListStackEvents", "ROS", "openAPI")
+	return
+}
+
+// CreateListStackEventsResponse creates a response to parse from ListStackEvents response
+func CreateListStackEventsResponse() (response *ListStackEventsResponse) {
+	response = &ListStackEventsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 104 - 0
services/ros/list_stack_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"
+)
+
+// ListStackResources invokes the ros.ListStackResources API synchronously
+// api document: https://help.aliyun.com/api/ros/liststackresources.html
+func (client *Client) ListStackResources(request *ListStackResourcesRequest) (response *ListStackResourcesResponse, err error) {
+	response = CreateListStackResourcesResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListStackResourcesWithChan invokes the ros.ListStackResources API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststackresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStackResourcesWithChan(request *ListStackResourcesRequest) (<-chan *ListStackResourcesResponse, <-chan error) {
+	responseChan := make(chan *ListStackResourcesResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListStackResources(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListStackResourcesWithCallback invokes the ros.ListStackResources API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststackresources.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStackResourcesWithCallback(request *ListStackResourcesRequest, callback func(response *ListStackResourcesResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListStackResourcesResponse
+		var err error
+		defer close(result)
+		response, err = client.ListStackResources(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListStackResourcesRequest is the request struct for api ListStackResources
+type ListStackResourcesRequest struct {
+	*requests.RpcRequest
+	StackId string `position:"Query" name:"StackId"`
+}
+
+// ListStackResourcesResponse is the response struct for api ListStackResources
+type ListStackResourcesResponse struct {
+	*responses.BaseResponse
+	RequestId string     `json:"RequestId" xml:"RequestId"`
+	Resources []Resource `json:"Resources" xml:"Resources"`
+}
+
+// CreateListStackResourcesRequest creates a request to invoke ListStackResources API
+func CreateListStackResourcesRequest() (request *ListStackResourcesRequest) {
+	request = &ListStackResourcesRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ListStackResources", "ROS", "openAPI")
+	return
+}
+
+// CreateListStackResourcesResponse creates a response to parse from ListStackResources response
+func CreateListStackResourcesResponse() (response *ListStackResourcesResponse) {
+	response = &ListStackResourcesResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 112 - 0
services/ros/list_stacks.go

@@ -0,0 +1,112 @@
+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"
+)
+
+// ListStacks invokes the ros.ListStacks API synchronously
+// api document: https://help.aliyun.com/api/ros/liststacks.html
+func (client *Client) ListStacks(request *ListStacksRequest) (response *ListStacksResponse, err error) {
+	response = CreateListStacksResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// ListStacksWithChan invokes the ros.ListStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStacksWithChan(request *ListStacksRequest) (<-chan *ListStacksResponse, <-chan error) {
+	responseChan := make(chan *ListStacksResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.ListStacks(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// ListStacksWithCallback invokes the ros.ListStacks API asynchronously
+// api document: https://help.aliyun.com/api/ros/liststacks.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) ListStacksWithCallback(request *ListStacksRequest, callback func(response *ListStacksResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *ListStacksResponse
+		var err error
+		defer close(result)
+		response, err = client.ListStacks(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// ListStacksRequest is the request struct for api ListStacks
+type ListStacksRequest struct {
+	*requests.RpcRequest
+	ParentStackId   string           `position:"Query" name:"ParentStackId"`
+	ShowNestedStack requests.Boolean `position:"Query" name:"ShowNestedStack"`
+	PageSize        requests.Integer `position:"Query" name:"PageSize"`
+	StackName       *[]string        `position:"Query" name:"StackName"  type:"Repeated"`
+	PageNumber      requests.Integer `position:"Query" name:"PageNumber"`
+	Status          *[]string        `position:"Query" name:"Status"  type:"Repeated"`
+}
+
+// ListStacksResponse is the response struct for api ListStacks
+type ListStacksResponse struct {
+	*responses.BaseResponse
+	PageNumber int     `json:"PageNumber" xml:"PageNumber"`
+	PageSize   int     `json:"PageSize" xml:"PageSize"`
+	RequestId  string  `json:"RequestId" xml:"RequestId"`
+	TotalCount int     `json:"TotalCount" xml:"TotalCount"`
+	Stacks     []Stack `json:"Stacks" xml:"Stacks"`
+}
+
+// CreateListStacksRequest creates a request to invoke ListStacks API
+func CreateListStacksRequest() (request *ListStacksRequest) {
+	request = &ListStacksRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "ListStacks", "ROS", "openAPI")
+	return
+}
+
+// CreateListStacksResponse creates a response to parse from ListStacks response
+func CreateListStacksResponse() (response *ListStacksResponse) {
+	response = &ListStacksResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 20 - 4
services/ros/preview_stack.go

@@ -75,21 +75,37 @@ func (client *Client) PreviewStackWithCallback(request *PreviewStackRequest, cal
 
 // PreviewStackRequest is the request struct for api PreviewStack
 type PreviewStackRequest struct {
-	*requests.RoaRequest
+	*requests.RpcRequest
+	StackPolicyURL   string                    `position:"Query" name:"StackPolicyURL"`
+	ClientToken      string                    `position:"Query" name:"ClientToken"`
+	TemplateBody     string                    `position:"Query" name:"TemplateBody"`
+	DisableRollback  requests.Boolean          `position:"Query" name:"DisableRollback"`
+	StackName        string                    `position:"Query" name:"StackName"`
+	Parameters       *[]PreviewStackParameters `position:"Query" name:"Parameters"  type:"Repeated"`
+	StackPolicyBody  string                    `position:"Query" name:"StackPolicyBody"`
+	TimeoutInMinutes requests.Integer          `position:"Query" name:"TimeoutInMinutes"`
+	TemplateURL      string                    `position:"Query" name:"TemplateURL"`
+}
+
+// PreviewStackParameters is a repeated param struct in PreviewStackRequest
+type PreviewStackParameters struct {
+	ParameterValue string `name:"ParameterValue"`
+	ParameterKey   string `name:"ParameterKey"`
 }
 
 // PreviewStackResponse is the response struct for api PreviewStack
 type PreviewStackResponse struct {
 	*responses.BaseResponse
+	RequestId string                 `json:"RequestId" xml:"RequestId"`
+	Stack     map[string]interface{} `json:"Stack" xml:"Stack"`
 }
 
 // CreatePreviewStackRequest creates a request to invoke PreviewStack API
 func CreatePreviewStackRequest() (request *PreviewStackRequest) {
 	request = &PreviewStackRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "PreviewStack", "/stacks/preview", "", "")
-	request.Method = requests.POST
+	request.InitWithApiInfo("ROS", "2019-09-10", "PreviewStack", "ROS", "openAPI")
 	return
 }
 

+ 7 - 6
services/ros/set_stack_policy.go

@@ -75,23 +75,24 @@ func (client *Client) SetStackPolicyWithCallback(request *SetStackPolicyRequest,
 
 // 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"`
+	*requests.RpcRequest
+	StackPolicyURL  string `position:"Query" name:"StackPolicyURL"`
+	StackId         string `position:"Query" name:"StackId"`
+	StackPolicyBody string `position:"Query" name:"StackPolicyBody"`
 }
 
 // SetStackPolicyResponse is the response struct for api SetStackPolicy
 type SetStackPolicyResponse struct {
 	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
 // CreateSetStackPolicyRequest creates a request to invoke SetStackPolicy API
 func CreateSetStackPolicyRequest() (request *SetStackPolicyRequest) {
 	request = &SetStackPolicyRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "SetStackPolicy", "/stacks/[StackName]/[StackId]/policy", "", "")
-	request.Method = requests.POST
+	request.InitWithApiInfo("ROS", "2019-09-10", "SetStackPolicy", "ROS", "openAPI")
 	return
 }
 

+ 108 - 0
services/ros/signal_resource.go

@@ -0,0 +1,108 @@
+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"
+)
+
+// SignalResource invokes the ros.SignalResource API synchronously
+// api document: https://help.aliyun.com/api/ros/signalresource.html
+func (client *Client) SignalResource(request *SignalResourceRequest) (response *SignalResourceResponse, err error) {
+	response = CreateSignalResourceResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// SignalResourceWithChan invokes the ros.SignalResource API asynchronously
+// api document: https://help.aliyun.com/api/ros/signalresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignalResourceWithChan(request *SignalResourceRequest) (<-chan *SignalResourceResponse, <-chan error) {
+	responseChan := make(chan *SignalResourceResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.SignalResource(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// SignalResourceWithCallback invokes the ros.SignalResource API asynchronously
+// api document: https://help.aliyun.com/api/ros/signalresource.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) SignalResourceWithCallback(request *SignalResourceRequest, callback func(response *SignalResourceResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *SignalResourceResponse
+		var err error
+		defer close(result)
+		response, err = client.SignalResource(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// SignalResourceRequest is the request struct for api SignalResource
+type SignalResourceRequest struct {
+	*requests.RpcRequest
+	Data              string `position:"Query" name:"Data"`
+	ClientToken       string `position:"Query" name:"ClientToken"`
+	StackId           string `position:"Query" name:"StackId"`
+	LogicalResourceId string `position:"Query" name:"LogicalResourceId"`
+	UniqueId          string `position:"Query" name:"UniqueId"`
+	Status            string `position:"Query" name:"Status"`
+}
+
+// SignalResourceResponse is the response struct for api SignalResource
+type SignalResourceResponse struct {
+	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+}
+
+// CreateSignalResourceRequest creates a request to invoke SignalResource API
+func CreateSignalResourceRequest() (request *SignalResourceRequest) {
+	request = &SignalResourceRequest{
+		RpcRequest: &requests.RpcRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2019-09-10", "SignalResource", "ROS", "openAPI")
+	return
+}
+
+// CreateSignalResourceResponse creates a response to parse from SignalResource response
+func CreateSignalResourceResponse() (response *SignalResourceResponse) {
+	response = &SignalResourceResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 30 - 0
services/ros/struct_change_set.go

@@ -0,0 +1,30 @@
+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.
+
+// ChangeSet is a nested struct in ros response
+type ChangeSet struct {
+	ChangeSetId     string `json:"ChangeSetId" xml:"ChangeSetId"`
+	ChangeSetName   string `json:"ChangeSetName" xml:"ChangeSetName"`
+	ChangeSetType   string `json:"ChangeSetType" xml:"ChangeSetType"`
+	CreateTime      string `json:"CreateTime" xml:"CreateTime"`
+	Description     string `json:"Description" xml:"Description"`
+	ExecutionStatus string `json:"ExecutionStatus" xml:"ExecutionStatus"`
+	RegionId        string `json:"RegionId" xml:"RegionId"`
+	StackId         string `json:"StackId" xml:"StackId"`
+	StackName       string `json:"StackName" xml:"StackName"`
+	Status          string `json:"Status" xml:"Status"`
+}

+ 21 - 0
services/ros/struct_change_sets.go

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

+ 21 - 0
services/ros/struct_changes.go

@@ -0,0 +1,21 @@
+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.
+
+// Changes is a nested struct in ros response
+type Changes struct {
+	Change []map[string]interface{} `json:"Change" xml:"Change"`
+}

+ 29 - 0
services/ros/struct_event.go

@@ -0,0 +1,29 @@
+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.
+
+// Event is a nested struct in ros response
+type Event struct {
+	CreateTime         string `json:"CreateTime" xml:"CreateTime"`
+	EventId            string `json:"EventId" xml:"EventId"`
+	LogicalResourceId  string `json:"LogicalResourceId" xml:"LogicalResourceId"`
+	PhysicalResourceId string `json:"PhysicalResourceId" xml:"PhysicalResourceId"`
+	ResourceType       string `json:"ResourceType" xml:"ResourceType"`
+	StackId            string `json:"StackId" xml:"StackId"`
+	StackName          string `json:"StackName" xml:"StackName"`
+	Status             string `json:"Status" xml:"Status"`
+	StatusReason       string `json:"StatusReason" xml:"StatusReason"`
+}

+ 21 - 0
services/ros/struct_events.go

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

+ 21 - 0
services/ros/struct_notification_ur_ls.go

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

+ 21 - 0
services/ros/struct_outputs.go

@@ -0,0 +1,21 @@
+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.
+
+// Outputs is a nested struct in ros response
+type Outputs struct {
+	Output []map[string]interface{} `json:"Output" xml:"Output"`
+}

+ 22 - 0
services/ros/struct_parameter.go

@@ -0,0 +1,22 @@
+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.
+
+// Parameter is a nested struct in ros response
+type Parameter struct {
+	ParameterKey   string `json:"ParameterKey" xml:"ParameterKey"`
+	ParameterValue string `json:"ParameterValue" xml:"ParameterValue"`
+}

+ 21 - 0
services/ros/struct_parameters_in_get_change_set.go

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

+ 21 - 0
services/ros/struct_parameters_in_get_stack.go

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

+ 21 - 0
services/ros/struct_parameters_in_validate_template.go

@@ -0,0 +1,21 @@
+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.
+
+// ParametersInValidateTemplate is a nested struct in ros response
+type ParametersInValidateTemplate struct {
+	Parameter []map[string]interface{} `json:"Parameter" xml:"Parameter"`
+}

+ 23 - 0
services/ros/struct_region.go

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

+ 21 - 0
services/ros/struct_regions.go

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

+ 29 - 0
services/ros/struct_resource.go

@@ -0,0 +1,29 @@
+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.
+
+// Resource is a nested struct in ros response
+type Resource struct {
+	CreateTime         string `json:"CreateTime" xml:"CreateTime"`
+	LogicalResourceId  string `json:"LogicalResourceId" xml:"LogicalResourceId"`
+	PhysicalResourceId string `json:"PhysicalResourceId" xml:"PhysicalResourceId"`
+	ResourceType       string `json:"ResourceType" xml:"ResourceType"`
+	StackId            string `json:"StackId" xml:"StackId"`
+	StackName          string `json:"StackName" xml:"StackName"`
+	Status             string `json:"Status" xml:"Status"`
+	StatusReason       string `json:"StatusReason" xml:"StatusReason"`
+	UpdateTime         string `json:"UpdateTime" xml:"UpdateTime"`
+}

+ 21 - 0
services/ros/struct_resource_attributes.go

@@ -0,0 +1,21 @@
+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.
+
+// ResourceAttributes is a nested struct in ros response
+type ResourceAttributes struct {
+	ResourceAttribute []map[string]interface{} `json:"ResourceAttribute" xml:"ResourceAttribute"`
+}

+ 21 - 0
services/ros/struct_resource_types.go

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

+ 21 - 0
services/ros/struct_resources.go

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

+ 30 - 0
services/ros/struct_stack.go

@@ -0,0 +1,30 @@
+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.
+
+// Stack is a nested struct in ros response
+type Stack struct {
+	CreateTime       string `json:"CreateTime" xml:"CreateTime"`
+	DisableRollback  bool   `json:"DisableRollback" xml:"DisableRollback"`
+	RegionId         string `json:"RegionId" xml:"RegionId"`
+	StackId          string `json:"StackId" xml:"StackId"`
+	StackName        string `json:"StackName" xml:"StackName"`
+	Status           string `json:"Status" xml:"Status"`
+	StatusReason     string `json:"StatusReason" xml:"StatusReason"`
+	TimeoutInMinutes int    `json:"TimeoutInMinutes" xml:"TimeoutInMinutes"`
+	ParentStackId    string `json:"ParentStackId" xml:"ParentStackId"`
+	UpdateTime       string `json:"UpdateTime" xml:"UpdateTime"`
+}

+ 21 - 0
services/ros/struct_stacks.go

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

+ 25 - 6
services/ros/update_stack.go

@@ -75,23 +75,42 @@ func (client *Client) UpdateStackWithCallback(request *UpdateStackRequest, callb
 
 // 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"`
+	*requests.RpcRequest
+	StackPolicyDuringUpdateURL  string                   `position:"Query" name:"StackPolicyDuringUpdateURL"`
+	ClientToken                 string                   `position:"Query" name:"ClientToken"`
+	TemplateBody                string                   `position:"Query" name:"TemplateBody"`
+	StackId                     string                   `position:"Query" name:"StackId"`
+	DisableRollback             requests.Boolean         `position:"Query" name:"DisableRollback"`
+	EnableRecover               requests.Boolean         `position:"Query" name:"EnableRecover"`
+	UpdateAllowPolicy           string                   `position:"Query" name:"UpdateAllowPolicy"`
+	TimeoutInMinutes            requests.Integer         `position:"Query" name:"TimeoutInMinutes"`
+	UsePreviousParameters       requests.Boolean         `position:"Query" name:"UsePreviousParameters"`
+	TemplateURL                 string                   `position:"Query" name:"TemplateURL"`
+	StackPolicyDuringUpdateBody string                   `position:"Query" name:"StackPolicyDuringUpdateBody"`
+	StackPolicyURL              string                   `position:"Query" name:"StackPolicyURL"`
+	Parameters                  *[]UpdateStackParameters `position:"Query" name:"Parameters"  type:"Repeated"`
+	StackPolicyBody             string                   `position:"Query" name:"StackPolicyBody"`
+}
+
+// UpdateStackParameters is a repeated param struct in UpdateStackRequest
+type UpdateStackParameters struct {
+	ParameterValue string `name:"ParameterValue"`
+	ParameterKey   string `name:"ParameterKey"`
 }
 
 // UpdateStackResponse is the response struct for api UpdateStack
 type UpdateStackResponse struct {
 	*responses.BaseResponse
+	RequestId string `json:"RequestId" xml:"RequestId"`
+	StackId   string `json:"StackId" xml:"StackId"`
 }
 
 // CreateUpdateStackRequest creates a request to invoke UpdateStack API
 func CreateUpdateStackRequest() (request *UpdateStackRequest) {
 	request = &UpdateStackRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "UpdateStack", "/stacks/[StackName]/[StackId]", "", "")
-	request.Method = requests.PUT
+	request.InitWithApiInfo("ROS", "2019-09-10", "UpdateStack", "ROS", "openAPI")
 	return
 }
 

+ 8 - 4
services/ros/validate_template.go

@@ -75,21 +75,25 @@ func (client *Client) ValidateTemplateWithCallback(request *ValidateTemplateRequ
 
 // ValidateTemplateRequest is the request struct for api ValidateTemplate
 type ValidateTemplateRequest struct {
-	*requests.RoaRequest
+	*requests.RpcRequest
+	TemplateBody string `position:"Query" name:"TemplateBody"`
+	TemplateURL  string `position:"Query" name:"TemplateURL"`
 }
 
 // ValidateTemplateResponse is the response struct for api ValidateTemplate
 type ValidateTemplateResponse struct {
 	*responses.BaseResponse
+	Description string   `json:"Description" xml:"Description"`
+	RequestId   string   `json:"RequestId" xml:"RequestId"`
+	Parameters  []string `json:"Parameters" xml:"Parameters"`
 }
 
 // CreateValidateTemplateRequest creates a request to invoke ValidateTemplate API
 func CreateValidateTemplateRequest() (request *ValidateTemplateRequest) {
 	request = &ValidateTemplateRequest{
-		RoaRequest: &requests.RoaRequest{},
+		RpcRequest: &requests.RpcRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2015-09-01", "ValidateTemplate", "/validate", "", "")
-	request.Method = requests.POST
+	request.InitWithApiInfo("ROS", "2019-09-10", "ValidateTemplate", "ROS", "openAPI")
 	return
 }
 

+ 0 - 107
services/ros/wait_conditions.go

@@ -1,107 +0,0 @@
-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
-}