Browse Source

Revert to 2015-09-01.

sdk-team 6 years ago
parent
commit
02bfe7fbce
64 changed files with 1789 additions and 2127 deletions
  1. 3 0
      ChangeLog.txt
  2. 104 0
      services/ros/abandon_stack.go
  3. 6 6
      services/ros/cancel_update_stack.go
  4. 25 0
      services/ros/client.go
  5. 6 7
      services/ros/continue_create_stack.go
  6. 5 33
      services/ros/create_change_set.go
  7. 0 122
      services/ros/create_stack.go
  8. 102 0
      services/ros/create_stacks.go
  9. 8 5
      services/ros/delete_change_set.go
  10. 6 6
      services/ros/delete_stack.go
  11. 106 0
      services/ros/describe_change_set_detail.go
  12. 105 0
      services/ros/describe_change_sets.go
  13. 109 0
      services/ros/describe_events.go
  14. 4 6
      services/ros/describe_regions.go
  15. 105 0
      services/ros/describe_resource_detail.go
  16. 103 0
      services/ros/describe_resource_type_detail.go
  17. 103 0
      services/ros/describe_resource_type_template.go
  18. 103 0
      services/ros/describe_resource_types.go
  19. 104 0
      services/ros/describe_resources.go
  20. 104 0
      services/ros/describe_stack_detail.go
  21. 107 0
      services/ros/describe_stacks.go
  22. 104 0
      services/ros/describe_template.go
  23. 104 0
      services/ros/do_actions.go
  24. 20 0
      services/ros/endpoint.go
  25. 8 5
      services/ros/execute_change_set.go
  26. 0 119
      services/ros/get_change_set.go
  27. 0 106
      services/ros/get_resource_type.go
  28. 0 104
      services/ros/get_resource_type_template.go
  29. 0 119
      services/ros/get_stack.go
  30. 6 6
      services/ros/get_stack_policy.go
  31. 0 118
      services/ros/get_stack_resource.go
  32. 0 105
      services/ros/get_template.go
  33. 0 113
      services/ros/get_template_estimate_cost.go
  34. 102 0
      services/ros/inquiry_stack.go
  35. 0 112
      services/ros/list_change_sets.go
  36. 0 103
      services/ros/list_resource_types.go
  37. 0 112
      services/ros/list_stack_events.go
  38. 0 104
      services/ros/list_stack_resources.go
  39. 0 112
      services/ros/list_stacks.go
  40. 4 20
      services/ros/preview_stack.go
  41. 6 7
      services/ros/set_stack_policy.go
  42. 0 108
      services/ros/signal_resource.go
  43. 0 30
      services/ros/struct_change_set.go
  44. 0 21
      services/ros/struct_change_sets.go
  45. 0 21
      services/ros/struct_changes.go
  46. 0 29
      services/ros/struct_event.go
  47. 0 21
      services/ros/struct_events.go
  48. 0 21
      services/ros/struct_notification_ur_ls.go
  49. 0 21
      services/ros/struct_outputs.go
  50. 0 22
      services/ros/struct_parameter.go
  51. 0 21
      services/ros/struct_parameters_in_get_change_set.go
  52. 0 21
      services/ros/struct_parameters_in_get_stack.go
  53. 0 21
      services/ros/struct_parameters_in_validate_template.go
  54. 0 23
      services/ros/struct_region.go
  55. 0 21
      services/ros/struct_regions.go
  56. 0 29
      services/ros/struct_resource.go
  57. 0 21
      services/ros/struct_resource_attributes.go
  58. 0 21
      services/ros/struct_resource_types.go
  59. 0 21
      services/ros/struct_resources.go
  60. 0 30
      services/ros/struct_stack.go
  61. 0 21
      services/ros/struct_stacks.go
  62. 6 25
      services/ros/update_stack.go
  63. 4 8
      services/ros/validate_template.go
  64. 107 0
      services/ros/wait_conditions.go

+ 3 - 0
ChangeLog.txt

@@ -1,3 +1,6 @@
+2019-08-30 Version: 1.60.131
+- Revert to 2015-09-01.
+
 2019-08-30 Version: 1.60.130
 - Release Apis of Version 2019-09-10.
 

+ 104 - 0
services/ros/abandon_stack.go

@@ -0,0 +1,104 @@
+package ros
+
+//Licensed under the Apache License, Version 2.0 (the "License");
+//you may not use this file except in compliance with the License.
+//You may obtain a copy of the License at
+//
+//http://www.apache.org/licenses/LICENSE-2.0
+//
+//Unless required by applicable law or agreed to in writing, software
+//distributed under the License is distributed on an "AS IS" BASIS,
+//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//See the License for the specific language governing permissions and
+//limitations under the License.
+//
+// Code generated by Alibaba Cloud SDK Code Generator.
+// Changes may cause incorrect behavior and will be lost if the code is regenerated.
+
+import (
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
+	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/responses"
+)
+
+// AbandonStack invokes the ros.AbandonStack API synchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+func (client *Client) AbandonStack(request *AbandonStackRequest) (response *AbandonStackResponse, err error) {
+	response = CreateAbandonStackResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// AbandonStackWithChan invokes the ros.AbandonStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbandonStackWithChan(request *AbandonStackRequest) (<-chan *AbandonStackResponse, <-chan error) {
+	responseChan := make(chan *AbandonStackResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.AbandonStack(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// AbandonStackWithCallback invokes the ros.AbandonStack API asynchronously
+// api document: https://help.aliyun.com/api/ros/abandonstack.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) AbandonStackWithCallback(request *AbandonStackRequest, callback func(response *AbandonStackResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *AbandonStackResponse
+		var err error
+		defer close(result)
+		response, err = client.AbandonStack(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// AbandonStackRequest is the request struct for api AbandonStack
+type AbandonStackRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// AbandonStackResponse is the response struct for api AbandonStack
+type AbandonStackResponse struct {
+	*responses.BaseResponse
+}
+
+// CreateAbandonStackRequest creates a request to invoke AbandonStack API
+func CreateAbandonStackRequest() (request *AbandonStackRequest) {
+	request = &AbandonStackRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "AbandonStack", "/stacks/[StackName]/[StackId]/abandon", "ROS", "openAPI")
+	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.RpcRequest
-	CancelType string `position:"Query" name:"CancelType"`
-	StackId    string `position:"Query" name:"StackId"`
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
 }
 
 // CancelUpdateStackResponse is the response struct for api CancelUpdateStack
 type CancelUpdateStackResponse struct {
 	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
 }
 
 // CreateCancelUpdateStackRequest creates a request to invoke CancelUpdateStack API
 func CreateCancelUpdateStackRequest() (request *CancelUpdateStackRequest) {
 	request = &CancelUpdateStackRequest{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "CancelUpdateStack", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "CancelUpdateStack", "/stacks/[StackName]/[StackId]/cancel", "ROS", "openAPI")
+	request.Method = requests.PUT
 	return
 }
 

+ 25 - 0
services/ros/client.go

@@ -16,6 +16,8 @@ package ros
 // Changes may cause incorrect behavior and will be lost if the code is regenerated.
 
 import (
+	"reflect"
+
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth"
 	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials/provider"
@@ -26,10 +28,25 @@ type Client struct {
 	sdk.Client
 }
 
+// SetClientProperty Set Property by Reflect
+func SetClientProperty(client *Client, propertyName string, propertyValue interface{}) {
+	v := reflect.ValueOf(client).Elem()
+	if v.FieldByName(propertyName).IsValid() && v.FieldByName(propertyName).CanSet() {
+		v.FieldByName(propertyName).Set(reflect.ValueOf(propertyValue))
+	}
+}
+
+// SetEndpointDataToClient Set EndpointMap and ENdpointType
+func SetEndpointDataToClient(client *Client) {
+	SetClientProperty(client, "EndpointMap", GetEndpointMap())
+	SetClientProperty(client, "EndpointType", GetEndpointType())
+}
+
 // NewClient creates a sdk client with environment variables
 func NewClient() (client *Client, err error) {
 	client = &Client{}
 	err = client.Init()
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -44,6 +61,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 		pc = provider.NewProviderChain(providers)
 	}
 	err = client.InitWithProviderChain(regionId, pc)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -52,6 +70,7 @@ func NewClientWithProvider(regionId string, providers ...provider.Provider) (cli
 func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.Credential) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithOptions(regionId, config, credential)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -60,6 +79,7 @@ func NewClientWithOptions(regionId string, config *sdk.Config, credential auth.C
 func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithAccessKey(regionId, accessKeyId, accessKeySecret)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -68,6 +88,7 @@ func NewClientWithAccessKey(regionId, accessKeyId, accessKeySecret string) (clie
 func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToken)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -76,6 +97,7 @@ func NewClientWithStsToken(regionId, stsAccessKeyId, stsAccessKeySecret, stsToke
 func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArn(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -84,6 +106,7 @@ func NewClientWithRamRoleArn(regionId string, accessKeyId, accessKeySecret, role
 func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRamRoleArnAndPolicy(regionId, accessKeyId, accessKeySecret, roleArn, roleSessionName, policy)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -92,6 +115,7 @@ func NewClientWithRamRoleArnAndPolicy(regionId string, accessKeyId, accessKeySec
 func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithEcsRamRole(regionId, roleName)
+	SetEndpointDataToClient(client)
 	return
 }
 
@@ -100,5 +124,6 @@ func NewClientWithEcsRamRole(regionId string, roleName string) (client *Client,
 func NewClientWithRsaKeyPair(regionId string, publicKeyId, privateKey string, sessionExpiration int) (client *Client, err error) {
 	client = &Client{}
 	err = client.InitWithRsaKeyPair(regionId, publicKeyId, privateKey, sessionExpiration)
+	SetEndpointDataToClient(client)
 	return
 }

+ 6 - 7
services/ros/continue_create_stack.go

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

+ 5 - 33
services/ros/create_change_set.go

@@ -75,50 +75,22 @@ func (client *Client) CreateChangeSetWithCallback(request *CreateChangeSetReques
 
 // 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"`
+	*requests.RoaRequest
 }
 
 // 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"`
+	Dummy string `json:"Dummy" xml:"Dummy"`
 }
 
 // CreateCreateChangeSetRequest creates a request to invoke CreateChangeSet API
 func CreateCreateChangeSetRequest() (request *CreateChangeSetRequest) {
 	request = &CreateChangeSetRequest{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "CreateChangeSet", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "CreateChangeSet", "/changeSets", "ROS", "openAPI")
+	request.Method = requests.POST
 	return
 }
 

+ 0 - 122
services/ros/create_stack.go

@@ -1,122 +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"
-)
-
-// 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
-}

+ 102 - 0
services/ros/create_stacks.go

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

+ 8 - 5
services/ros/delete_change_set.go

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

+ 106 - 0
services/ros/describe_change_set_detail.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"
+)
+
+// DescribeChangeSetDetail invokes the ros.DescribeChangeSetDetail API synchronously
+// api document: https://help.aliyun.com/api/ros/describechangesetdetail.html
+func (client *Client) DescribeChangeSetDetail(request *DescribeChangeSetDetailRequest) (response *DescribeChangeSetDetailResponse, err error) {
+	response = CreateDescribeChangeSetDetailResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeChangeSetDetailWithChan invokes the ros.DescribeChangeSetDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describechangesetdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeSetDetailWithChan(request *DescribeChangeSetDetailRequest) (<-chan *DescribeChangeSetDetailResponse, <-chan error) {
+	responseChan := make(chan *DescribeChangeSetDetailResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeChangeSetDetail(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeChangeSetDetailWithCallback invokes the ros.DescribeChangeSetDetail API asynchronously
+// api document: https://help.aliyun.com/api/ros/describechangesetdetail.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeSetDetailWithCallback(request *DescribeChangeSetDetailRequest, callback func(response *DescribeChangeSetDetailResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeChangeSetDetailResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeChangeSetDetail(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeChangeSetDetailRequest is the request struct for api DescribeChangeSetDetail
+type DescribeChangeSetDetailRequest struct {
+	*requests.RoaRequest
+	ChangeSetName string `position:"Path" name:"ChangeSetName"`
+	StackId       string `position:"Path" name:"StackId"`
+	StackName     string `position:"Path" name:"StackName"`
+}
+
+// DescribeChangeSetDetailResponse is the response struct for api DescribeChangeSetDetail
+type DescribeChangeSetDetailResponse struct {
+	*responses.BaseResponse
+	Dummy string `json:"Dummy" xml:"Dummy"`
+}
+
+// CreateDescribeChangeSetDetailRequest creates a request to invoke DescribeChangeSetDetail API
+func CreateDescribeChangeSetDetailRequest() (request *DescribeChangeSetDetailRequest) {
+	request = &DescribeChangeSetDetailRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeChangeSetDetail", "/stacks/[StackName]/[StackId]/changeSets/[ChangeSetName]", "ROS", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeChangeSetDetailResponse creates a response to parse from DescribeChangeSetDetail response
+func CreateDescribeChangeSetDetailResponse() (response *DescribeChangeSetDetailResponse) {
+	response = &DescribeChangeSetDetailResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 105 - 0
services/ros/describe_change_sets.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"
+)
+
+// DescribeChangeSets invokes the ros.DescribeChangeSets API synchronously
+// api document: https://help.aliyun.com/api/ros/describechangesets.html
+func (client *Client) DescribeChangeSets(request *DescribeChangeSetsRequest) (response *DescribeChangeSetsResponse, err error) {
+	response = CreateDescribeChangeSetsResponse()
+	err = client.DoAction(request, response)
+	return
+}
+
+// DescribeChangeSetsWithChan invokes the ros.DescribeChangeSets API asynchronously
+// api document: https://help.aliyun.com/api/ros/describechangesets.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeSetsWithChan(request *DescribeChangeSetsRequest) (<-chan *DescribeChangeSetsResponse, <-chan error) {
+	responseChan := make(chan *DescribeChangeSetsResponse, 1)
+	errChan := make(chan error, 1)
+	err := client.AddAsyncTask(func() {
+		defer close(responseChan)
+		defer close(errChan)
+		response, err := client.DescribeChangeSets(request)
+		if err != nil {
+			errChan <- err
+		} else {
+			responseChan <- response
+		}
+	})
+	if err != nil {
+		errChan <- err
+		close(responseChan)
+		close(errChan)
+	}
+	return responseChan, errChan
+}
+
+// DescribeChangeSetsWithCallback invokes the ros.DescribeChangeSets API asynchronously
+// api document: https://help.aliyun.com/api/ros/describechangesets.html
+// asynchronous document: https://help.aliyun.com/document_detail/66220.html
+func (client *Client) DescribeChangeSetsWithCallback(request *DescribeChangeSetsRequest, callback func(response *DescribeChangeSetsResponse, err error)) <-chan int {
+	result := make(chan int, 1)
+	err := client.AddAsyncTask(func() {
+		var response *DescribeChangeSetsResponse
+		var err error
+		defer close(result)
+		response, err = client.DescribeChangeSets(request)
+		callback(response, err)
+		result <- 1
+	})
+	if err != nil {
+		defer close(result)
+		callback(nil, err)
+		result <- 0
+	}
+	return result
+}
+
+// DescribeChangeSetsRequest is the request struct for api DescribeChangeSets
+type DescribeChangeSetsRequest struct {
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
+}
+
+// DescribeChangeSetsResponse is the response struct for api DescribeChangeSets
+type DescribeChangeSetsResponse struct {
+	*responses.BaseResponse
+	Dummy string `json:"Dummy" xml:"Dummy"`
+}
+
+// CreateDescribeChangeSetsRequest creates a request to invoke DescribeChangeSets API
+func CreateDescribeChangeSetsRequest() (request *DescribeChangeSetsRequest) {
+	request = &DescribeChangeSetsRequest{
+		RoaRequest: &requests.RoaRequest{},
+	}
+	request.InitWithApiInfo("ROS", "2015-09-01", "DescribeChangeSets", "/stacks/[StackName]/[StackId]/changeSets", "ROS", "openAPI")
+	request.Method = requests.GET
+	return
+}
+
+// CreateDescribeChangeSetsResponse creates a response to parse from DescribeChangeSets response
+func CreateDescribeChangeSetsResponse() (response *DescribeChangeSetsResponse) {
+	response = &DescribeChangeSetsResponse{
+		BaseResponse: &responses.BaseResponse{},
+	}
+	return
+}

+ 109 - 0
services/ros/describe_events.go

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

+ 4 - 6
services/ros/describe_regions.go

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

+ 105 - 0
services/ros/describe_resource_detail.go

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

+ 103 - 0
services/ros/describe_resource_type_detail.go

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

+ 103 - 0
services/ros/describe_resource_type_template.go

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

+ 103 - 0
services/ros/describe_resource_types.go

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

+ 104 - 0
services/ros/describe_resources.go

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

+ 104 - 0
services/ros/describe_stack_detail.go

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

+ 107 - 0
services/ros/describe_stacks.go

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

+ 104 - 0
services/ros/describe_template.go

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

+ 104 - 0
services/ros/do_actions.go

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

+ 20 - 0
services/ros/endpoint.go

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

+ 8 - 5
services/ros/execute_change_set.go

@@ -75,22 +75,25 @@ func (client *Client) ExecuteChangeSetWithCallback(request *ExecuteChangeSetRequ
 
 // ExecuteChangeSetRequest is the request struct for api ExecuteChangeSet
 type ExecuteChangeSetRequest struct {
-	*requests.RpcRequest
-	ChangeSetId string `position:"Query" name:"ChangeSetId"`
+	*requests.RoaRequest
+	ChangeSetName string `position:"Path" name:"ChangeSetName"`
+	StackId       string `position:"Path" name:"StackId"`
+	StackName     string `position:"Path" name:"StackName"`
 }
 
 // ExecuteChangeSetResponse is the response struct for api ExecuteChangeSet
 type ExecuteChangeSetResponse struct {
 	*responses.BaseResponse
-	RequestId string `json:"RequestId" xml:"RequestId"`
+	Dummy string `json:"Dummy" xml:"Dummy"`
 }
 
 // CreateExecuteChangeSetRequest creates a request to invoke ExecuteChangeSet API
 func CreateExecuteChangeSetRequest() (request *ExecuteChangeSetRequest) {
 	request = &ExecuteChangeSetRequest{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "ExecuteChangeSet", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "ExecuteChangeSet", "/stacks/[StackName]/[StackId]/changeSets/[ChangeSetName]/execute", "ROS", "openAPI")
+	request.Method = requests.PUT
 	return
 }
 

+ 0 - 119
services/ros/get_change_set.go

@@ -1,119 +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"
-)
-
-// 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
-}

+ 0 - 106
services/ros/get_resource_type.go

@@ -1,106 +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"
-)
-
-// 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
-}

+ 0 - 104
services/ros/get_resource_type_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"
-)
-
-// 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
-}

+ 0 - 119
services/ros/get_stack.go

@@ -1,119 +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"
-)
-
-// 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.RpcRequest
-	StackId string `position:"Query" name:"StackId"`
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
 }
 
 // GetStackPolicyResponse is the response struct for api GetStackPolicy
 type GetStackPolicyResponse struct {
 	*responses.BaseResponse
-	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{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "GetStackPolicy", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "GetStackPolicy", "/stacks/[StackName]/[StackId]/policy", "ROS", "openAPI")
+	request.Method = requests.GET
 	return
 }
 

+ 0 - 118
services/ros/get_stack_resource.go

@@ -1,118 +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"
-)
-
-// 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
-}

+ 0 - 105
services/ros/get_template.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"
-)
-
-// 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
-}

+ 0 - 113
services/ros/get_template_estimate_cost.go

@@ -1,113 +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"
-)
-
-// 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
-}

+ 102 - 0
services/ros/inquiry_stack.go

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

+ 0 - 112
services/ros/list_change_sets.go

@@ -1,112 +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"
-)
-
-// 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
-}

+ 0 - 103
services/ros/list_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"
-)
-
-// 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
-}

+ 0 - 112
services/ros/list_stack_events.go

@@ -1,112 +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"
-)
-
-// 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
-}

+ 0 - 104
services/ros/list_stack_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"
-)
-
-// 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
-}

+ 0 - 112
services/ros/list_stacks.go

@@ -1,112 +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"
-)
-
-// 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
-}

+ 4 - 20
services/ros/preview_stack.go

@@ -75,37 +75,21 @@ func (client *Client) PreviewStackWithCallback(request *PreviewStackRequest, cal
 
 // PreviewStackRequest is the request struct for api PreviewStack
 type PreviewStackRequest struct {
-	*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"`
+	*requests.RoaRequest
 }
 
 // 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{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "PreviewStack", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "PreviewStack", "/stacks/preview", "ROS", "openAPI")
+	request.Method = requests.POST
 	return
 }
 

+ 6 - 7
services/ros/set_stack_policy.go

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

+ 0 - 108
services/ros/signal_resource.go

@@ -1,108 +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"
-)
-
-// 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
-}

+ 0 - 30
services/ros/struct_change_set.go

@@ -1,30 +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.
-
-// 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"`
-}

+ 0 - 21
services/ros/struct_change_sets.go

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

+ 0 - 21
services/ros/struct_changes.go

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

+ 0 - 29
services/ros/struct_event.go

@@ -1,29 +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.
-
-// 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"`
-}

+ 0 - 21
services/ros/struct_events.go

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

+ 0 - 21
services/ros/struct_notification_ur_ls.go

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

+ 0 - 21
services/ros/struct_outputs.go

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

+ 0 - 22
services/ros/struct_parameter.go

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

+ 0 - 21
services/ros/struct_parameters_in_get_change_set.go

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

+ 0 - 21
services/ros/struct_parameters_in_get_stack.go

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

+ 0 - 21
services/ros/struct_parameters_in_validate_template.go

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

+ 0 - 23
services/ros/struct_region.go

@@ -1,23 +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.
-
-// 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"`
-}

+ 0 - 21
services/ros/struct_regions.go

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

+ 0 - 29
services/ros/struct_resource.go

@@ -1,29 +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.
-
-// 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"`
-}

+ 0 - 21
services/ros/struct_resource_attributes.go

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

+ 0 - 21
services/ros/struct_resource_types.go

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

+ 0 - 21
services/ros/struct_resources.go

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

+ 0 - 30
services/ros/struct_stack.go

@@ -1,30 +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.
-
-// 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"`
-}

+ 0 - 21
services/ros/struct_stacks.go

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

+ 6 - 25
services/ros/update_stack.go

@@ -75,42 +75,23 @@ func (client *Client) UpdateStackWithCallback(request *UpdateStackRequest, callb
 
 // UpdateStackRequest is the request struct for api UpdateStack
 type UpdateStackRequest 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"`
-	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"`
+	*requests.RoaRequest
+	StackId   string `position:"Path" name:"StackId"`
+	StackName string `position:"Path" name:"StackName"`
 }
 
 // UpdateStackResponse is the response struct for api UpdateStack
 type UpdateStackResponse struct {
 	*responses.BaseResponse
-	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{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "UpdateStack", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "UpdateStack", "/stacks/[StackName]/[StackId]", "ROS", "openAPI")
+	request.Method = requests.PUT
 	return
 }
 

+ 4 - 8
services/ros/validate_template.go

@@ -75,25 +75,21 @@ func (client *Client) ValidateTemplateWithCallback(request *ValidateTemplateRequ
 
 // ValidateTemplateRequest is the request struct for api ValidateTemplate
 type ValidateTemplateRequest struct {
-	*requests.RpcRequest
-	TemplateBody string `position:"Query" name:"TemplateBody"`
-	TemplateURL  string `position:"Query" name:"TemplateURL"`
+	*requests.RoaRequest
 }
 
 // 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{
-		RpcRequest: &requests.RpcRequest{},
+		RoaRequest: &requests.RoaRequest{},
 	}
-	request.InitWithApiInfo("ROS", "2019-09-10", "ValidateTemplate", "ROS", "openAPI")
+	request.InitWithApiInfo("ROS", "2015-09-01", "ValidateTemplate", "/validate", "ROS", "openAPI")
+	request.Method = requests.POST
 	return
 }
 

+ 107 - 0
services/ros/wait_conditions.go

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