cfnstack

package
v0.16.4 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2020 License: Apache-2.0 Imports: 14 Imported by: 26

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CFN_TEMPLATE_SIZE_LIMIT = 51200

Functions

func EmptyAssets added in v0.11.0

func EmptyAssets() assetsImpl

func NestedStackExists added in v0.11.0

func NestedStackExists(cf CFInterrogator, parentStackName, stackName string) (bool, error)

func StackEventErrMsgs

func StackEventErrMsgs(events []*cloudformation.StackEvent) []string

func StackExists added in v0.11.0

func StackExists(cf CFInterrogator, stackName string) (bool, error)

Types

type AssetLocationProvider

type AssetLocationProvider struct {
	// contains filtered or unexported fields
}

func (AssetLocationProvider) Locate added in v0.13.0

func (p AssetLocationProvider) Locate(filename string) (*api.AssetLocation, error)

func (AssetLocationProvider) S3DirURI added in v0.13.0

func (p AssetLocationProvider) S3DirURI() string

func (AssetLocationProvider) S3Prefix added in v0.13.0

func (p AssetLocationProvider) S3Prefix() string

S3Prefix returns BUCKET + / + S3 OBJECT KEY PREFIX whereas the prefix is that of all the assets locatable by this provider For example, in case this provider is configured to locate assets for stack MYSTACK in S3 bucket MYBUCKET due to that you've passed an S3 URI of `s3://MYBUCKET/MY/PREFIX` and the stack name of MYSTACK, this func returns "MYBUCKET/MY/PREFIX/MYSTACK".

type Assets

type Assets interface {
	Merge(Assets) Assets
	AsMap() map[api.AssetID]api.Asset
	FindAssetByStackAndFileName(string, string) (api.Asset, error)
	S3Prefix() string
}

type AssetsBuilder

type AssetsBuilder interface {
	Add(filename string, content string) (api.Asset, error)
	AddUserDataPart(userdata api.UserData, part string, assetName string) error
	Build() Assets
}

type AssetsBuilderImpl added in v0.13.0

type AssetsBuilderImpl struct {
	AssetLocationProvider
	// contains filtered or unexported fields
}

func NewAssetsBuilder

func NewAssetsBuilder(stackName string, s3URI string, region api.Region) (*AssetsBuilderImpl, error)

func (*AssetsBuilderImpl) Add added in v0.13.0

func (b *AssetsBuilderImpl) Add(filename string, content string) (api.Asset, error)

func (*AssetsBuilderImpl) AddUserDataPart added in v0.13.0

func (b *AssetsBuilderImpl) AddUserDataPart(userdata api.UserData, part string, assetName string) error

func (*AssetsBuilderImpl) Build added in v0.13.0

func (b *AssetsBuilderImpl) Build() Assets

type CFInterrogator added in v0.11.0

type CFInterrogator interface {
	ListStackResources(input *cloudformation.ListStackResourcesInput) (*cloudformation.ListStackResourcesOutput, error)
	DescribeStacks(input *cloudformation.DescribeStacksInput) (*cloudformation.DescribeStacksOutput, error)
}

Used for querying existance of stacks and nested stacks.

type CreationService

type CreationService interface {
	CreateStack(*cloudformation.CreateStackInput) (*cloudformation.CreateStackOutput, error)
}

type Destroyer

type Destroyer struct {
	// contains filtered or unexported fields
}

func NewDestroyer

func NewDestroyer(stackName string, session *session.Session, roleARN string) *Destroyer

func (*Destroyer) Destroy

func (c *Destroyer) Destroy() error

type EC2Interrogator added in v0.10.1

type EC2Interrogator interface {
	DescribeInstances(input *ec2.DescribeInstancesInput) (*ec2.DescribeInstancesOutput, error)
}

type Provisioner

type Provisioner struct {
	// contains filtered or unexported fields
}

func NewProvisioner

func NewProvisioner(name string, stackTags map[string]string, s3URI string, region api.Region, stackPolicyBody string, session *session.Session, options ...string) *Provisioner

func (*Provisioner) CreateStackAtURLAndWait

func (c *Provisioner) CreateStackAtURLAndWait(cfSvc CRUDService, templateURL string) error

func (*Provisioner) EstimateTemplateCost

func (c *Provisioner) EstimateTemplateCost(cfSvc CRUDService, body string, parameters []*cloudformation.Parameter) (*cloudformation.EstimateTemplateCostOutput, error)

func (*Provisioner) StreamEventsNested added in v0.9.8

func (c *Provisioner) StreamEventsNested(q chan struct{}, f *cloudformation.CloudFormation, stackId string, headStackName string, t time.Time) error

func (*Provisioner) UpdateStackAtURLAndWait

func (c *Provisioner) UpdateStackAtURLAndWait(cfSvc CRUDService, templateURL string) (string, error)

func (*Provisioner) UploadAssets

func (c *Provisioner) UploadAssets(s3Svc S3ObjectPutterService, assets Assets) error

func (*Provisioner) ValidateStackAtURL

func (c *Provisioner) ValidateStackAtURL(templateURL string) (string, error)

type S3ObjectPutterService

type S3ObjectPutterService interface {
	PutObject(input *s3.PutObjectInput) (*s3.PutObjectOutput, error)
}

type S3URI

type S3URI interface {
	Bucket() string
	KeyComponents() []string
	BucketAndKey() string
	String() string
}

func S3URIFromString

func S3URIFromString(s3URI string) (S3URI, error)

type UpdateService

type UpdateService interface {
	UpdateStack(input *cloudformation.UpdateStackInput) (*cloudformation.UpdateStackOutput, error)
}

Jump to

Keyboard shortcuts

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