cloudformation

package
Version: v0.0.0-...-b425644 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2019 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AWSTemplateFormatVersion = "2010-09-09"
View Source
var DefaultBlockDeviceMapping = &BlockDeviceMapping{
	DeviceName: "/dev/sda1",
	Ebs: &Ebs{
		VolumeSize: "8",
	},
}
View Source
var ErrorNoUpdate = fmt.Errorf(errorNoUpdate)
View Source
var (
	ErrorNotFound = fmt.Errorf("Error not found")
)

Functions

This section is empty.

Types

type Alarm

type Alarm struct {
	ActionsEnabled     interface{}   `json:"ActionsEnabled,omitempty"`
	ComparisonOperator interface{}   `json:"ComparisonOperator,omitempty"`
	EvaluationPeriods  interface{}   `json:"EvaluationPeriods,omitempty"`
	MetricName         interface{}   `json:"MetricName,omitempty"`
	Namespace          interface{}   `json:"Namespace,omitempty"`
	Period             interface{}   `json:"Period,omitempty"`
	Statistic          interface{}   `json:"Statistic,omitempty"`
	Threshold          interface{}   `json:"Threshold,omitempty"`
	AlarmActions       []interface{} `json:"AlarmActions,omitempty"`
}

AWS::CloudWatch::Alarm

type AutoScalingGroup

type AutoScalingGroup struct {
	AvailabilityZones       []interface{} `json:"AvailabilityZones,omitempty"`
	Cooldown                interface{}   `json:"Cooldown,omitempty"`
	DesiredCapacity         interface{}   `json:"DesiredCapacity,omitempty"`
	HealthCheckGracePeriod  interface{}   `json:"HealthCheckGracePeriod,omitempty"`
	HealthCheckType         interface{}   `json:"HealthCheckType,omitempty"`
	LaunchConfigurationName interface{}   `json:"LaunchConfigurationName,omitempty"`
	LoadBalancerNames       []interface{} `json:"LoadBalancerNames,omitempty"`
	MaxSize                 interface{}   `json:"MaxSize,omitempty"`
	MinSize                 interface{}   `json:"MinSize,omitempty"`
}

AWS::AutoScaling::AutoScalingGroup",

type BaseParameters

type BaseParameters struct {
	Capabilities    []string
	Parameters      []*StackParameter
	StackName       string
	StackPolicyBody string
	StackPolicyURL  string
	TemplateBody    string
	TemplateURL     string
}

type BlockDeviceMapping

type BlockDeviceMapping struct {
	DeviceName interface{} `json:"DeviceName,omitempty"`
	Ebs        *Ebs        `json:"Ebs,omitempty"`
}

type CacheClusterProperties

type CacheClusterProperties struct {
	AutoMinorVersionUpgrade    interface{}   `json:"AutoMinorVersionUpgrade,omitempty"`
	CacheNodeType              interface{}   `json:"CacheNodeType,omitempty"`
	ClusterName                interface{}   `json:"ClusterName,omitempty"`
	Engine                     interface{}   `json:"Engine,omitempty"`
	EngineVersion              interface{}   `json:"EngineVersion,omitempty"`
	NotificationTopicArn       interface{}   `json:"NotificationTopicArn,omitempty"`
	NumCacheNodes              interface{}   `json:"NumCacheNodes,omitempty"`
	PreferredAvailabilityZone  interface{}   `json:"PreferredAvailabilityZone,omitempty"`
	PreferredMaintenanceWindow interface{}   `json:"PreferredMaintenanceWindow,omitempty"`
	VpcSecurityGroupIds        []interface{} `json:"VpcSecurityGroupIds,omitempty"`
}

AWS::ElastiCache::CacheCluster

type Client

type Client struct {
	*aws.Client
}

func NewFromEnv

func NewFromEnv() *Client

func (*Client) CreateStack

func (client *Client) CreateStack(params CreateStackParameters) (stackId string, e error)

func (*Client) DeleteStack

func (c *Client) DeleteStack(name string) error

func (*Client) DescribeStackEvents

func (c *Client) DescribeStackEvents(params *DescribeStackEventsParameters) (*DescribeStackEventsResponse, error)

func (*Client) DescribeStackResources

func (client *Client) DescribeStackResources(params DescribeStackResourcesParameters) (*DescribeStackResourcesResponse, error)

func (*Client) DescribeStacks

func (client *Client) DescribeStacks(params *DescribeStacksParameters) (rsp *DescribeStacksResponse, e error)

func (*Client) Endpoint

func (client *Client) Endpoint() string

func (*Client) EstimateTemplateCost

func (c *Client) EstimateTemplateCost(params EstimateTemplateCostParameters) (*EstimateTemplateCostResponse, error)

func (*Client) ListStacks

func (c *Client) ListStacks(params *ListStacksParameters) (*ListStacksResponse, error)

func (*Client) UpdateStack

func (c *Client) UpdateStack(params UpdateStackParameters) (stackId string, e error)

type CreateStackParameters

type CreateStackParameters struct {
	BaseParameters
	DisableRollback  bool
	NotificationARNs []string
	OnFailure        string
	Tags             []*Tag
	TimeoutInMinutes int
}

type CreateStackResponse

type CreateStackResponse struct {
	CreateStackResult *CreateStackResult `xml:"CreateStackResult"`
}

type CreateStackResult

type CreateStackResult struct {
	StackId string `xml:"StackId"`
}

type DBInstance

type DBInstance struct {
	AllocatedStorage           interface{}   `json:"	AllocatedStorage,omitempty"`
	AutoMinorVersionUpgrade    interface{}   `json:"	AutoMinorVersionUpgrade,omitempty"`
	BackupRetentionPeriod      interface{}   `json:"	BackupRetentionPeriod,omitempty"`
	DBSubnetGroupName          interface{}   `json:"	DBSubnetGroupName,omitempty"`
	DBInstanceClass            interface{}   `json:"	DBInstanceClass,omitempty"`
	DBInstanceIdentifier       interface{}   `json:"	DBInstanceIdentifier,omitempty"`
	DBName                     interface{}   `json:"	DBName,omitempty"`
	Engine                     interface{}   `json:"	Engine,omitempty"`
	EngineVersion              interface{}   `json:"	EngineVersion,omitempty"`
	LicenseModel               interface{}   `json:"	LicenseModel,omitempty"`
	MasterUsername             interface{}   `json:"	MasterUsername,omitempty"`
	MasterUserPassword         interface{}   `json:"	MasterUserPassword,omitempty"`
	MultiAZ                    interface{}   `json:"	MultiAZ,omitempty"`
	Port                       interface{}   `json:"	Port,omitempty"`
	PreferredBackupWindow      interface{}   `json:"	PreferredBackupWindow,omitempty"`
	PreferredMaintenanceWindow interface{}   `json:"	PreferredMaintenanceWindow,omitempty"`
	Tags                       []interface{} `json:"	Tags,omitempty"`
	VPCSecurityGroups          []interface{} `json:"	VPCSecurityGroups,omitempty"`
}

AWS::RDS::DBInstance

type DBParameterGroup

type DBParameterGroup struct {
	Description interface{} `json:"Description,omitempty"`
	Family      interface{} `json:"Family,omitempty"`
	Parameters  interface{} `json:"Parameters,omitempty"`
}

AWS::RDS::DBParameterGroup

type DBSubnetGroup

type DBSubnetGroup struct {
	DBSubnetGroupDescription interface{} `json:"DBSubnetGroupDescription,omitempty"`
	SubnetIds                interface{} `json:"SubnetIds,omitempty"`
}

AWS::RDS::DBSubnetGroup

type DescribeStackEventsParameters

type DescribeStackEventsParameters struct {
	NextToken string
	StackName string
}

type DescribeStackEventsResponse

type DescribeStackEventsResponse struct {
	XMLName                   xml.Name `xml:"DescribeStackEventsResponse"`
	DescribeStackEventsResult *DescribeStackEventsResult
}

type DescribeStackEventsResult

type DescribeStackEventsResult struct {
	NextToken   string        `xml:"NextToken"`
	StackEvents []*StackEvent `xml:"StackEvents>member"`
}

type DescribeStackResourcesParameters

type DescribeStackResourcesParameters struct {
	LogicalResourceId  string
	PhysicalResourceId string
	StackName          string
}

type DescribeStackResourcesResponse

type DescribeStackResourcesResponse struct {
	XMLName                      xml.Name                      `xml:"DescribeStackResourcesResponse"`
	DescribeStackResourcesResult *DescribeStackResourcesResult `xml:"DescribeStackResourcesResult"`
}

type DescribeStackResourcesResult

type DescribeStackResourcesResult struct {
	StackResources []*StackResource `xml:"StackResources>member"`
}

type DescribeStacks

type DescribeStacks struct {
	NextToken string
	StackName string
}

func (*DescribeStacks) Execute

func (a *DescribeStacks) Execute(client *Client) (*DescribeStacksResponse, error)

type DescribeStacksParameters

type DescribeStacksParameters struct {
	NextToken string
	StackName string
}

type DescribeStacksResponse

type DescribeStacksResponse struct {
	XMLName              xml.Name              `xml:"DescribeStacksResponse"`
	DescribeStacksResult *DescribeStacksResult `xml:"DescribeStacksResult"`
}

type DescribeStacksResult

type DescribeStacksResult struct {
	Stacks []*Stack `xml:"Stacks>member"`
}

type Ebs

type Ebs struct {
	VolumeSize interface{} `json:"VolumeSize,omitempty"`
}

type Ec2EIP

type Ec2EIP struct {
	InstanceId interface{} `json:"InstanceId,omitempty"`
	Domain     interface{} `json:"Domain,omitempty"`
}

type Ec2Instance

type Ec2Instance struct {
	ImageId               interface{}           `json:"ImageId,omitempty"`
	DisableApiTermination interface{}           `json:"DisableApiTermination,omitempty"`
	KeyName               interface{}           `json:"KeyName,omitempty"`
	InstanceType          interface{}           `json:"InstanceType,omitempty"`
	SubnetId              interface{}           `json:"SubnetId,omitempty"`
	PrivateIpAddress      interface{}           `json:"PrivateIpAddress,omitempty"`
	NetworkInterfaces     []*NetworkInterface   `json:"NetworkInterfaces,omitempty"`
	UserData              string                `json:"UserData,omitempty"`
	BlockDeviceMappings   []*BlockDeviceMapping `json:"BlockDeviceMappings,omitempty"`
	Tags                  []*Tag                `json:"Tags,omitempty"`
}

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html

type Error

type Error struct {
	Type    string `xml:"Type,omitempty"`
	Code    string `xml:"Code,omitempty"`
	Message string `xml:"Message,omitempty"`
}

type ErrorResponse

type ErrorResponse struct {
	XMLName   xml.Name `xml:"ErrorResponse"`
	Error     *Error   `xml:"Error"`
	RequestId string   `xml:"RequestId"`
}

type EstimateTemplateCostParameters

type EstimateTemplateCostParameters struct {
	TemplateBody string
	TemplateURL  string
	Parameters   []*StackParameter
}

type EstimateTemplateCostResponse

type EstimateTemplateCostResponse struct {
	XMLName                    xml.Name                    `xml:"EstimateTemplateCostResponse"`
	EstimateTemplateCostResult *EstimateTemplateCostResult `xml:"EstimateTemplateCostResult"`
}

type EstimateTemplateCostResult

type EstimateTemplateCostResult struct {
	Url string `xml:"Url"`
}

type GetTemplate

type GetTemplate struct {
	StackName string
}

func (*GetTemplate) Execute

func (t *GetTemplate) Execute(client *aws.Client) (*GetTemplateResponse, error)

type GetTemplateResponse

type GetTemplateResponse struct {
	XMLName           xml.Name           `xml:"GetTemplateResponse"`
	GetTemplateResult *GetTemplateResult `xml:"GetTemplateResult,omitempty"`
}

type GetTemplateResult

type GetTemplateResult struct {
	TemplateBody string `xml:"TemplateBody,omitempty"`
}

type HealthCheck

type HealthCheck struct {
	HealthyThreshold   interface{} `json:"HealthyThreshold,omitempty"`
	Interval           interface{} `json:"Interval,omitempty"`
	Target             interface{} `json:"Target,omitempty"`
	Timeout            interface{} `json:"Timeout,omitempty"`
	UnhealthyThreshold interface{} `json:"UnhealthyThreshold,omitempty"`
}

type LaunchConfiguration

type LaunchConfiguration struct {
	InstanceType        interface{}           `json:"InstanceType,omitempty"`
	ImageId             interface{}           `json:"ImageId,omitempty"`
	KeyName             interface{}           `json:"KeyName,omitempty"`
	SecurityGroups      []interface{}         `json:"SecurityGroups,omitempty"`
	UserData            interface{}           `json:"UserData,omitempty"`
	BlockDeviceMappings []*BlockDeviceMapping `json:"BlockDeviceMappings,omitempty"`
}

AWS::AutoScaling::LaunchConfiguration

type ListStacksParameters

type ListStacksParameters struct {
	NextToken          string
	StackStatusFilters []string
}

type ListStacksResponse

type ListStacksResponse struct {
	XMLName          xml.Name          `xml:"ListStacksResponse"`
	ListStacksResult *ListStacksResult `xml:"ListStacksResult"`
}

type ListStacksResult

type ListStacksResult struct {
	Stacks []*Stack `xml:"StackSummaries>member"`
}

type Listener

type Listener struct {
	InstancePort     interface{}   `json:"InstancePort,omitempty"`
	LoadBalancerPort interface{}   `json:"LoadBalancerPort,omitempty"`
	Protocol         interface{}   `json:"Protocol,omitempty"`
	InstanceProtocol interface{}   `json:"InstanceProtocol,omitempty"`
	SSLCertificateId interface{}   `json:"SSLCertificateId,omitempty"`
	PolicyNames      []interface{} `json:"PolicyNames,omitempty"`
}

type LoadBalancer

type LoadBalancer struct {
	LoadBalancerName interface{}  `json:"LoadBalancerName,omitempty"`
	CrossZone        interface{}  `json:"CrossZone,omitempty"`
	HealthCheck      *HealthCheck `json:"HealthCheck,omitempty"`
	Listeners        []*Listener  `json:"Listeners,omitempty"`
	SecurityGroups   interface{}  `json:"SecurityGroups,omitempty"`
	Subnets          interface{}  `json:"Subnets,omitempty"`
}

type NetworkInterface

type NetworkInterface struct {
	AssociatePublicIpAddress       bool          `json:"AssociatePublicIpAddress,omitempty"`       // : Boolean,
	DeleteOnTermination            bool          `json:"DeleteOnTermination,omitempty"`            // : Boolean,
	Description                    string        `json:"Description,omitempty"`                    // : String,
	DeviceIndex                    string        `json:"DeviceIndex,omitempty"`                    // : String,
	GroupSet                       []interface{} `json:"GroupSet,omitempty"`                       // : [ String, ... ],
	NetworkInterfaceId             string        `json:"NetworkInterfaceId,omitempty"`             // : String,
	PrivateIpAddress               string        `json:"PrivateIpAddress,omitempty"`               // : String,
	PrivateIpAddresses             []string      `json:"PrivateIpAddresses,omitempty"`             // : [ PrivateIpAddressSpecification, ... ],
	SecondaryPrivateIpAddressCount int           `json:"SecondaryPrivateIpAddressCount,omitempty"` // : Integer,
	SubnetId                       interface{}   `json:"SubnetId,omitempty"`                       // : String
}

type NotificationConfiguration

type NotificationConfiguration struct {
	TopicARN          interface{}   `json:"TopicARN,omitempty"`
	NotificationTypes []interface{} `json:"NotificationTypes,omitempty"`
	Tags              []*Tag        `json:"Tags,omitempty"`
}

type Output

type Output struct {
	OutputKey   string `xml:"OutputKey"`
	OutputValue string `xml:"OutputValue"`
}

type Parameter

type Parameter struct {
	Type    string `json:"Type,omitempty"`
	Default string `json:"Default,omitempty"`
}

type Policy

type Policy struct {
	PolicyName interface{}        `json:"PolicyName,omitempty"`
	PolicyType interface{}        `json:"PolicyType,omitempty"`
	Attributes []*PolicyAttribute `json:"Attributes,omitempty"`
}

type PolicyAttribute

type PolicyAttribute struct {
	Name           interface{}   `json:"Name,omitempty"`
	Value          interface{}   `json:"Value,omitempty"`
	SecurityGroups []interface{} `json:"SecurityGroups,omitempty"`
	Subnets        interface{}   `json:"Subnets,omitempty"`
}

type Properties

type Properties struct {
	Type       string      `json:"Type,omitempty"`
	Properties *Properties `json:"Properties,omitempty"`
	MinValue   int         `json:"MinValue,omitempty"`
}

type Property

type Property struct {
	Type string `json:"Type,omitempty"`
}

type RDSDBInstance

type RDSDBInstance struct {
	AllocatedStorage           interface{} `json:"AllocatedStorage,omitempty"`           // String,
	AutoMinorVersionUpgrade    interface{} `json:"AutoMinorVersionUpgrade,omitempty"`    // Boolean,
	AvailabilityZone           interface{} `json:"AvailabilityZone,omitempty"`           // String,
	BackupRetentionPeriod      interface{} `json:"BackupRetentionPeriod,omitempty"`      // String,
	DBInstanceClass            interface{} `json:"DBInstanceClass,omitempty"`            // String,
	DBInstanceIdentifier       interface{} `json:"DBInstanceIdentifier,omitempty"`       // String,
	DBName                     interface{} `json:"DBName,omitempty"`                     // String,
	DBParameterGroupName       interface{} `json:"DBParameterGroupName,omitempty"`       // String,
	DBSecurityGroups           interface{} `json:"DBSecurityGroups,omitempty"`           // [[ String, ... ],
	DBSnapshotIdentifier       interface{} `json:"DBSnapshotIdentifier,omitempty"`       // String,
	DBSubnetGroupName          interface{} `json:"DBSubnetGroupName,omitempty"`          // String,
	Engine                     interface{} `json:"Engine,omitempty"`                     // String,
	EngineVersion              interface{} `json:"EngineVersion,omitempty"`              // String,
	Iops                       interface{} `json:"Iops,omitempty"`                       // Number,
	LicenseModel               interface{} `json:"LicenseModel,omitempty"`               // String,
	MasterUsername             interface{} `json:"MasterUsername,omitempty"`             // String,
	MasterUserPassword         interface{} `json:"MasterUserPassword,omitempty"`         // String,
	MultiAZ                    interface{} `json:"MultiAZ,omitempty"`                    // Boolean,
	Port                       interface{} `json:"Port,omitempty"`                       // String,
	PreferredBackupWindow      interface{} `json:"PreferredBackupWindow,omitempty"`      // String,
	PreferredMaintenanceWindow interface{} `json:"PreferredMaintenanceWindow,omitempty"` // String,
	SourceDBInstanceIdentifier interface{} `json:"SourceDBInstanceIdentifier,omitempty"` // String,
	Tags                       interface{} `json:"Tags,omitempty"`                       // [ Resource Tag, ..., ],
	VPCSecurityGroups          interface{} `json:"VPCSecurityGroups,omitempty"`          // [ String, ... ]
}

type RDSDBParameterGroup

type RDSDBParameterGroup struct {
	Description interface{} `xml:"Description"` // String,
	Family      interface{} `xml:"Family"`      // String,
	Parameters  interface{} `xml:"Parameters"`  // DBParameters,
	Tags        interface{} `xml:"Tags"`        // [ Resource Tag, ... ]
}

type RDSDBSubnetGroup

type RDSDBSubnetGroup struct {
	DBSubnetGroupDescription interface{} `xml:"DBSubnetGroupDescription"` // String,
	SubnetIds                interface{} `xml:"SubnetIds"`                // [ String, ... ],
	Tags                     interface{} `xml:"Tags"`                     // [ Resource Tag, ... ]
}

type RecordSet

type RecordSet struct {
	AliasTarget     interface{}   `json:"AliasTarget,omitempty"`     // AliasTarget,
	Comment         interface{}   `json:"Comment,omitempty"`         // String,
	HostedZoneId    interface{}   `json:"HostedZoneId,omitempty"`    // String,
	HostedZoneName  interface{}   `json:"HostedZoneName,omitempty"`  // String,
	Name            interface{}   `json:"Name,omitempty"`            // String,
	Region          interface{}   `json:"Region,omitempty"`          // String,
	ResourceRecords []interface{} `json:"ResourceRecords,omitempty"` // [ String ],
	SetIdentifier   interface{}   `json:"SetIdentifier,omitempty"`   // String,
	TTL             interface{}   `json:"TTL,omitempty"`             // String,
	Type            interface{}   `json:"Type,omitempty"`            // String,
	Weight          interface{}   `json:"Weight,omitempty"`          // Integer
}

type Reference

type Reference struct {
	Ref string `json:"Ref,omitempty"`
}

func Ref

func Ref(name string) *Reference

type Resource

type Resource struct {
	Type         string      `json:"Type,omitempty"`
	Properties   interface{} `json:"Properties,omitempty"`
	UpdatePolicy interface{} `json:"UpdatePolicy,omitempty"`
}

func NewResource

func NewResource(theType string, properties interface{}) *Resource

func NewSubnet

func NewSubnet(az string, cidr string) *Resource

func NewSubnetRouteTableAssociation

func NewSubnetRouteTableAssociation(routeTableId interface{}, subnetId interface{}) *Resource

type Resources

type Resources map[string]interface{}

type Route

type Route struct {
	DestinationCidrBlock interface{} `json:"DestinationCidrBlock,omitempty"`
	GatewayId            interface{} `json:"GatewayId,omitempty"`
	RouteTableId         interface{} `json:"RouteTableId,omitempty"`
}

type RouteTable

type RouteTable struct {
	VpcId interface{} `json:"VpcId,omitempty"`
	Tags  []*Tag      `json:"Tags,omitempty"`
}

type SecurityGroup

type SecurityGroup struct {
	VpcId                interface{}          `json:"VpcId,omitempty"`
	GroupDescription     interface{}          `json:"GroupDescription,omitempty"`
	SecurityGroupEgress  []*SecurityGroupRule `json:"SecurityGroupEgress,omitempty"`
	SecurityGroupIngress []*SecurityGroupRule `json:"SecurityGroupIngress,omitempty"`
	Tags                 []*Tag               `json:"Tags,omitempty"`
}

type SecurityGroupProperties

type SecurityGroupProperties struct {
	GroupDescription     interface{}     `json:"GroupDescription,omitempty"`
	VpcId                interface{}     `json:"VpcId,omitempty"`
	SecurityGroupIngress []SecurityGroup `json:"SecurityGroupIngress,omitempty"`
	SecurityGroupEgress  []SecurityGroup `json:"SecurityGroupEgress,omitempty"`
}

AWS::EC2::SecurityGroup

type SecurityGroupRule

type SecurityGroupRule struct {
	IpProtocol                 interface{} `json:"IpProtocol,omitempty"`
	FromPort                   interface{} `json:"FromPort,omitempty"`
	ToPort                     interface{} `json:"ToPort,omitempty"`
	CidrIp                     interface{} `json:"CidrIp,omitempty"`
	SourceSecurityGroupId      interface{} `json:"SourceSecurityGroupId,omitempty"`
	SourceSecurityGroupOwnerId interface{} `json:"SourceSecurityGroupOwnerId,omitempty"`
}

type Stack

type Stack struct {
	StackName           string            `xml:"StackName"`       // MyStack</StackName>
	StackId             string            `xml:"StackId"`         // arn:aws:cloudformation:us-east-1:123456789:stack/MyStack/aaf549a0-a413-11df-adb3-5081b3858e83</StackId>
	CreationTime        time.Time         `xml:"CreationTime"`    // 2010-07-27T22:28:28Z</CreationTime>
	StackStatus         string            `xml:"StackStatus"`     // CREATE_COMPLETE</StackStatus>
	DisableRollback     bool              `xml:"DisableRollback"` // false</DisableRollback>
	TemplateDescription string            `xml:"TemplateDescription"`
	Outputs             []*Output         `xml:"Outputs>member"`
	Parameters          []*StackParameter `xml:"Parameters>member"`
}

type StackEvent

type StackEvent struct {
	EventId              string    `xml:"EventId"`              // Event-1-Id
	StackId              string    `xml:"StackId"`              // arn:aws:cloudformation:us-east-1:123456789:stack/MyStack/aaf549a0-a413-11df-adb3-5081b3858e83
	StackName            string    `xml:"StackName"`            // MyStack
	LogicalResourceId    string    `xml:"LogicalResourceId"`    // MyStack
	PhysicalResourceId   string    `xml:"PhysicalResourceId"`   // MyStack_One
	ResourceType         string    `xml:"ResourceType"`         // AWS::CloudFormation::Stack
	Timestamp            time.Time `xml:"Timestamp"`            // 2010-07-27T22:26:28Z
	ResourceStatus       string    `xml:"ResourceStatus"`       // CREATE_IN_PROGRESS
	ResourceStatusReason string    `xml:"ResourceStatusReason"` // User initiated
}

type StackParameter

type StackParameter struct {
	ParameterKey   string
	ParameterValue string
}

type StackResource

type StackResource struct {
	StackId            string    //arn:aws:cloudformation:us-east-1:123456789:stack/MyStack/aaf549a0-a413-11df-adb3-5081b3858e83</StackId>
	StackName          string    //MyStack</StackName>
	LogicalResourceId  string    //MyDBInstance</LogicalResourceId>
	PhysicalResourceId string    //MyStack_DB1</PhysicalResourceId>
	ResourceType       string    //AWS::DBInstance</ResourceType>
	Timestamp          time.Time //2010-07-27T22:27:28Z</Timestamp>
	ResourceStatus     string    //CREATE_COMPLETE</ResourceStatus>
}

type Subnet

type Subnet struct {
	AvailabilityZone string      `json:"AvailabilityZone,omitempty"`
	CidrBlock        string      `json:"CidrBlock,omitempty"`
	Tags             []*Tag      `json:"Tags,omitempty"`
	VpcId            interface{} `json:"VpcId,omitempty"`
}

type SubnetRouteTableAssociation

type SubnetRouteTableAssociation struct {
	RouteTableId interface{} `json:"RouteTableId,omitempty"`
	SubnetId     interface{} `json:"SubnetId,omitempty"`
}

type Tag

type Tag struct {
	Key               interface{} `json:"Key,omitempty"`
	Value             interface{} `json:"Value,omitempty"`
	PropagateAtLaunch interface{} `json:"PropagateAtLaunch,omitempty"`
	VPCZoneIdentifier interface{} `json:"VPCZoneIdentifier,omitempty"`
}

type Template

type Template struct {
	AWSTemplateFormatVersion string `json:"AWSTemplateFormatVersion,omitempty"`
	Description              string `json:"Description,omitempty"`

	Parameters map[string]*Parameter `json:"Parameters,omitempty"`
	Resources  Resources             `json:"Resources,omitempty"`
}

func NewTemplate

func NewTemplate(desc string) *Template

type Topic

type Topic struct {
	DisplayName string `json:"DisplayName,omitempty"`
}

AWS::SNS::Topic

type UpdateStack

type UpdateStack struct {
	Parameters                  []*StackParameter
	Capabilities                []string
	StackName                   string
	StackPolicyBody             string
	StackPolicyURL              string
	TemplateBody                string
	TemplateURL                 string
	StackPolicyDuringUpdateBody string
	StackPolicyDuringUpdateURL  string
	UsePreviousTemplate         bool
}

func (*UpdateStack) Execute

func (update *UpdateStack) Execute(client *Client) (*UpdateStackResponse, error)

type UpdateStackParameters

type UpdateStackParameters struct {
	BaseParameters
	StackPolicyDuringUpdateBody string
	StackPolicyDuringUpdateURL  string
	UsePreviousTemplate         bool
}

type UpdateStackResponse

type UpdateStackResponse struct {
	UpdateStackResult *UpdateStackResult `xml:"UpdateStackResult"`
}

type UpdateStackResult

type UpdateStackResult struct {
	StackId string `xml:"StackId"`
}

type VPCGatewayAttachment

type VPCGatewayAttachment struct {
	InternetGatewayId interface{} `json:"InternetGatewayId,omitempty"`
	VpcId             interface{} `json:"VpcId,omitempty"`
	VpnGatewayId      string      `json:"VpnGatewayId,omitempty"`
}

type Values

type Values map[string]string

func (Values) Encode

func (values Values) Encode() string

type Vpc

type Vpc struct {
	CidrBlock          string `json:"CidrBlock,omitempty"`
	EnableDnsSupport   bool   `json:"EnableDnsSupport,omitempty"`
	EnableDnsHostnames bool   `json:"EnableDnsHostnames,omitempty"`
	InstanceTenancy    string `json:"InstanceTenancy,omitempty"`
	Tags               []*Tag `json:"Tags,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL