File: template.go

package info (click to toggle)
golang-github-denverdino-aliyungo 0.0~git20180921.13fa8aa-4
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 1,824 kB
  • sloc: xml: 1,359; makefile: 3
file content (52 lines) | stat: -rwxr-xr-x 1,396 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package ros

import (
	"fmt"
	"net/http"

	"github.com/denverdino/aliyungo/common"
)

//https://help.aliyun.com/document_detail/28922.html?spm=5176.doc28920.6.594.UI5p6A
type DescribeTemplateResponse struct {
	common.Response
	ROSTemplateFormatVersion string
	Parameters               interface{}
	Outputs                  interface{}
	Resources                interface{}
	Description              interface{}
	Conditions               interface{}
	Mappings                 interface{}
	Metadata                 interface{}
}

func (client *Client) DescribeTemplate(stackId, stackName string) (*DescribeTemplateResponse, error) {
	response := &DescribeTemplateResponse{}
	err := client.Invoke("", http.MethodGet, fmt.Sprintf("/stacks/%s/%s/template", stackName, stackId), nil, nil, response)
	if err != nil {
		return nil, err
	}

	return response, nil
}

//https://help.aliyun.com/document_detail/28923.html?spm=5176.doc28922.6.595.uhWWET
type ValidateTemplateRequest struct {
	Template string
}

type ValidateTemplateResponse struct {
	common.Response
	Parameters  interface{}
	Description interface{}
}

func (client *Client) ValidateTemplate(args *ValidateTemplateRequest) (*ValidateTemplateResponse, error) {
	response := &ValidateTemplateResponse{}
	err := client.Invoke("", http.MethodPost, "/validate", nil, args, response)
	if err != nil {
		return nil, err
	}

	return response, nil
}