Documentation

Index

Constants

This section is empty.

Variables

View Source
var CFN_TEMPLATE_SIZE_LIMIT = 51200

Functions

func EmptyAssets

func EmptyAssets() assetsImpl

func NestedStackExists

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

func StackEventErrMsgs

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

func StackExists

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

Types

type AssetLocationProvider

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

func (AssetLocationProvider) Locate

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

func (AssetLocationProvider) S3DirURI

func (p AssetLocationProvider) S3DirURI() string

func (AssetLocationProvider) S3Prefix

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

    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

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

    func (*AssetsBuilderImpl) AddUserDataPart

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

    func (*AssetsBuilderImpl) Build

    func (b *AssetsBuilderImpl) Build() Assets

    type CFInterrogator

    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

      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

      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)
      }