config

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIGateway

type APIGateway struct {
	StackName string             `yaml:"stack_name"`
	APIDomain string             `yaml:"api_domain"`
	APIG      bool               `yaml:"apig"`
	Lambdas   []APIGatewayLambda `yaml:"lambdas"`
}

type APIGatewayLambda

type APIGatewayLambda struct {
	Name        string              `yaml:"name"`
	Source      string              `yaml:"source"`
	RoleName    string              `yaml:"role_name,omitempty"`
	Runtime     string              `yaml:"runtime,omitempty"`
	Description string              `yaml:"description"`
	Envars      []map[string]string `yaml:"envars,omitempty"`
	Verb        string              `yaml:"verb"`
	Path        string              `yaml:"path"`
	Files       []File              `yaml:"files,omitempty"`
}

type Config

type Config struct {
	Diagram     Diagram      `yaml:"diagram,omitempty"`
	Structure   Structure    `yaml:"structure,omitempty"`
	APIGateways []APIGateway `yaml:"apigateways,omitempty"`
	Kinesis     []Kinesis    `yaml:"kinesis,omitempty"`
	Lambdas     []Lambda     `yaml:"lambdas,omitempty"`
	Buckets     []S3         `yaml:"buckets,omitempty"`
	SNSs        []SNS        `yaml:"sns,omitempty"`
	SQSs        []SQS        `yaml:"sqs,omitempty"`
	RestfulAPIs []RestfulAPI `yaml:"restfulapis,omitempty"`
}

Config represents a configuration object that can be populated from a YAML file

type Cron

type Cron struct {
	ScheduleExpression string `yaml:"schedule_expression"`
	IsEnabled          string `yaml:"is_enabled"`
}

type DefaultConfig

type DefaultConfig map[string]string

type Diagram

type Diagram struct {
	StackName string         `yaml:"stack_name"`
	Lambda    DriagramLambda `yaml:"lambda"`
}

type DriagramLambda added in v0.5.1

type DriagramLambda struct {
	Source   string `yaml:"source"`
	RoleName string `yaml:"role_name"`
	Runtime  string `yaml:"runtime,omitempty"`
}

type File

type File struct {
	Name    string   `yaml:"name"`
	Tmpl    string   `yaml:"tmpl,omitempty"`
	Imports []string `yaml:"imports,omitempty"`
}

type Folder

type Folder struct {
	Name  string `yaml:"name"`
	Files []File `yaml:"files"`
}

type Kinesis added in v0.6.0

type Kinesis struct {
	Name            string `yaml:"name"`
	RetentionPeriod string `yaml:"retention_period,omitempty"`
	KMSKeyID        string `yaml:"kms_key_id,omitempty"`
	Files           []File `yaml:"files,omitempty"`
}

type KinesisTrigger added in v0.6.0

type KinesisTrigger struct {
	SourceARN string `yaml:"source_arn"`
}

type Lambda

type Lambda struct {
	Name            string              `yaml:"name"`
	Source          string              `yaml:"source"`
	RoleName        string              `yaml:"role_name,omitempty"`
	Runtime         string              `yaml:"runtime,omitempty"`
	Description     string              `yaml:"description"`
	Envars          []map[string]string `yaml:"envars,omitempty"`
	KinesisTriggers []KinesisTrigger    `yaml:"kinesis-triggers,omitempty"`
	SQSTriggers     []SQSTrigger        `yaml:"sqs-triggers,omitempty"`
	Crons           []Cron              `yaml:"crons,omitempty"`
	Files           []File              `yaml:"files,omitempty"`
}

type RestfulAPI

type RestfulAPI struct {
	Name string `yaml:"name"`
}

type S3

type S3 struct {
	Name           string `yaml:"name"`
	ExpirationDays int    `yaml:"expiration-days,omitempty"`
	Files          []File `yaml:"files,omitempty"`
}

type SNS

type SNS struct {
	Name       string        `yaml:"name"`
	BucketName string        `yaml:"bucket_name"`
	Lambdas    []SNSResource `yaml:"lambdas,omitempty"`
	SQSs       []SNSResource `yaml:"sqs,omitempty"`
	Files      []File        `yaml:"files,omitempty"`
}

SNS represents the configuration for SNS (Simple Notification Service).

type SNSResource

type SNSResource struct {
	Name         string   `yaml:"name"`
	Events       []string `yaml:"events"`
	FilterPrefix string   `yaml:"filter_prefix,omitempty"`
	FilterSuffix string   `yaml:"filter_suffix,omitempty"`
}

SNSResource represents a Lambda function or SQS configuration.

type SQS

type SQS struct {
	Name            string `yaml:"name"`
	MaxReceiveCount int32  `yaml:"max_receive_count"`
	Files           []File `yaml:"files,omitempty"`
}

type SQSTrigger

type SQSTrigger struct {
	SourceARN string `yaml:"source_arn"`
}

type Stack

type Stack struct {
	Name    string   `yaml:"name"`
	Folders []Folder `yaml:"folders"`
}

type Structure

type Structure struct {
	Stacks           []Stack         `yaml:"stacks"`
	DefaultTemplates []DefaultConfig `yaml:"default_templates,omitempty"`
}

type YAML

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

func NewYAML

func NewYAML(fileName string) *YAML

func (*YAML) Parse

func (y *YAML) Parse() (*Config, error)

Jump to

Keyboard shortcuts

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