build

package
v1.7.4 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Example (Build_bucket)
package main

import (
	"os"

	"github.com/aws-cloudformation/rain/internal/cmd/build"
)

func main() {
	os.Args = []string{
		os.Args[0],
		"-b",
		"AWS::S3::Bucket",
	}

	build.Cmd.Execute()
}
Output:

AWSTemplateFormatVersion: "2010-09-09"

Description: Template generated by rain

Resources:
  MyBucket:
    Type: AWS::S3::Bucket

Index

Examples

Constants

This section is empty.

Variables

View Source
var Cmd = &cobra.Command{
	Use:                   "build [<resource type> or <prompt>]",
	Short:                 "Create CloudFormation templates",
	Long:                  "Outputs a CloudFormation template containing the named resource types.",
	DisableFlagsInUseLine: true,
	Run: func(cmd *cobra.Command, args []string) {
		if buildListFlag {
			types := make([]string, 0)
			for t := range spec.Cfn.ResourceTypes {
				types = append(types, t)
			}
			sort.Strings(types)
			fmt.Println(strings.Join(types, "\n"))

			return
		}

		if len(args) == 0 {
			cmd.Help()
			return
		}

		if promptFlag {
			prompt(strings.Join(args, " "))
			return
		}

		resources := resolveResources(args)

		t, err := build.Template(resources, !bareTemplate)
		if err != nil {
			panic(err)
		}

		out := format.String(t, format.Options{
			JSON: buildJSON,
		})

		fmt.Println(out)
	},
}

Cmd is the build command's entrypoint

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

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