-
Notifications
You must be signed in to change notification settings - Fork 2
/
spec.go
executable file
·43 lines (35 loc) · 2.33 KB
/
spec.go
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
package main
// CloudFormationResourceSpecification represents a resource specification document as
// published by the AWS CloudFormation team
type CloudFormationResourceSpecification struct {
// ResourceSpecificationVersion is the AWS CloudFormation Specification Version
// The version format is majorVersion.minorVersion.patch, where each release increments
// the version number. All resources have the same version number regardless of whether
// the resource was updated.
//
// AWS CloudFormation increments the patch number when the service makes a backwards-compatible
// bug fix, such as fixing a broken documentation link. When AWS CloudFormation adds resources
// or properties that are backwards compatible, it increments the minor version number.
// For example, later versions of a specification might add additional resource properties to
// support new features of an AWS service.
//
// Backwards incompatible changes increment the major version number. A backwards incompatible
// change can result from a change in the resource specification, such as a name change to a
// field, or a change to a resource, such as the making an optional resource property required.
ResourceSpecificationVersion string
// ResourceSpecificationTransform is not a valid key in the official AWS CloudFormation
// Specification. It is used in this package to indicate the relevant Transform value to use
// for the resources in this spec.
ResourceSpecificationTransform string
// The list of resources and information about each resource's properties, such as its property names,
// which properties are requires, and their update behavior. For more information, see
// http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification-format.html#cfn-resource-specification-format-resourcetype
Resources map[string]Resource `json:"ResourceTypes"`
// For resources that have properties within a property (also known as subproperties), a list of
// subproperty specifications, such as which properties are required, the type of allowed value
// for each property, and their update behavior. For more information, see Property Specification.
Properties map[string]Resource `json:"PropertyTypes"`
ValueTypes map[string]ValueType `json:"ValueTypes"`
IntrinsicTypes map[string]IntrinsicType
ParameterTypes map[string][]string
}