Documentation
¶
Index ¶
- Variables
- func EnrichWithData(data map[string]string, override map[string]string) map[string]string
- func ProcessData(data map[string]string, arguments Arguments, settings TerralessSettings) map[string]string
- func ProcessString(check string, arguments Arguments, settings TerralessSettings) string
- type Arguments
- type CanHandleFunc
- type FunctionEvent
- type FunctionEvents
- type NameFunc
- type PrepareSessionFunc
- type ProcessUploadFunc
- type Provider
- type RenderAuthorizerTemplatesFunc
- type RenderCertificateTemplatesFunc
- type RenderEndpointTemplatesFunc
- type RenderFunctionTemplatesFunc
- type RenderUploadTemplatesFunc
- type TerralessActiveProvider
- type TerralessAuthorizer
- type TerralessBackend
- type TerralessCertificate
- type TerralessCloudfront
- type TerralessCloudfrontCaching
- type TerralessConfig
- type TerralessCors
- type TerralessData
- type TerralessEndpoint
- type TerralessFunction
- type TerralessFunctionEvent
- type TerralessGlobalConfig
- type TerralessPackage
- type TerralessProjectConfig
- type TerralessProvider
- type TerralessSettings
- type TerralessTeam
- type TerralessType
- type TerralessUpload
Constants ¶
This section is empty.
Variables ¶
View Source
var HttpMethods = []string{"GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "ANY"}
Functions ¶
func EnrichWithData ¶
func ProcessData ¶
func ProcessString ¶
func ProcessString(check string, arguments Arguments, settings TerralessSettings) string
Types ¶
type CanHandleFunc ¶
type FunctionEvent ¶ added in v0.1.12
type FunctionEvent struct { FunctionName string FunctionEvent TerralessFunctionEvent }
type FunctionEvents ¶ added in v0.1.12
type FunctionEvents struct {
Events map[string][]FunctionEvent
}
type PrepareSessionFunc ¶
type PrepareSessionFunc func(terralessConfig TerralessConfig)
type ProcessUploadFunc ¶
type ProcessUploadFunc func(terralessData TerralessData, upload TerralessUpload) []string
type Provider ¶
type Provider struct { CanHandle CanHandleFunc Name NameFunc PrepareSession PrepareSessionFunc ProcessUpload ProcessUploadFunc RenderAuthorizerTemplates RenderAuthorizerTemplatesFunc RenderCertificateTemplates RenderCertificateTemplatesFunc RenderEndpointTemplates RenderEndpointTemplatesFunc RenderFunctionTemplates RenderFunctionTemplatesFunc RenderUploadTemplates RenderUploadTemplatesFunc }
type RenderAuthorizerTemplatesFunc ¶ added in v0.1.12
type RenderAuthorizerTemplatesFunc func(config TerralessConfig, buffer bytes.Buffer) bytes.Buffer
type RenderCertificateTemplatesFunc ¶ added in v0.1.12
type RenderCertificateTemplatesFunc func(config TerralessConfig, buffer bytes.Buffer) bytes.Buffer
type RenderEndpointTemplatesFunc ¶ added in v0.1.12
type RenderEndpointTemplatesFunc func(config TerralessConfig, buffer bytes.Buffer) bytes.Buffer
type RenderFunctionTemplatesFunc ¶ added in v0.1.12
type RenderFunctionTemplatesFunc func(resourceType string, functionEvents FunctionEvents, terralessData *TerralessData, buffer bytes.Buffer) bytes.Buffer
type RenderUploadTemplatesFunc ¶ added in v0.1.12
type RenderUploadTemplatesFunc func(currentConfig TerralessConfig, buffer bytes.Buffer) bytes.Buffer
type TerralessActiveProvider ¶
type TerralessActiveProvider struct { Team string `yaml:"Team"` Providers []TerralessProvider `yaml:"Providers"` }
type TerralessAuthorizer ¶
type TerralessBackend ¶
type TerralessCertificate ¶
type TerralessCloudfront ¶
type TerralessConfig ¶
type TerralessConfig struct { Authorizers map[string]TerralessAuthorizer Backend TerralessBackend Certificates map[string]TerralessCertificate Endpoints []TerralessEndpoint Functions map[string]TerralessFunction Package TerralessPackage ProjectName string Providers map[string]TerralessProvider Settings TerralessSettings SourcePath string TargetPath string Uploads []TerralessUpload // only for rendering template HasProvider map[string]bool Runtimes []string }
func BuildTerralessConfig ¶
func BuildTerralessConfig(globalCfg TerralessGlobalConfig, projectCfg TerralessProjectConfig, arguments Arguments) TerralessConfig
func (TerralessConfig) Validate ¶
func (cfg TerralessConfig) Validate() []string
type TerralessCors ¶
type TerralessData ¶
type TerralessData struct { ActiveProviders map[string]TerralessProvider Arguments Arguments Config TerralessConfig TerralessProviders []Provider }
type TerralessEndpoint ¶ added in v0.1.12
type TerralessFunction ¶
type TerralessFunction struct { Description string `yaml:"Description"` Environment map[string]string `yaml:"Environment"` Events []TerralessFunctionEvent `yaml:"Events"` Handler string `yaml:"Handler"` MemorySize int `yaml:"MemorySize"` RoleArn string `yaml:"RoleArn"` Runtime string `yaml:"Runtime"` Timeout int `yaml:"Timeout"` Type string `yaml:"Type"` // only for rendering template AddApiGatewayPermission bool FunctionName string ProjectName string RenderEnvironment bool }
type TerralessFunctionEvent ¶
type TerralessFunctionEvent struct { Authorizer string `yaml:"Authorizer"` Arn string `yaml:"Arn"` Cors TerralessCors `yaml:"Cors"` Event map[string]string `yaml:"Event"` Method string `yaml:"Method"` Path string `yaml:"Path"` Rate string `yaml:"Rate"` Route string `yaml:"Route"` Type string `yaml:"Type"` // only for rendering template Authorization string AuthorizerId string FunctionName string Idx string ProjectName string PathsRendered map[string]string ResourceNameForPath string }
type TerralessGlobalConfig ¶
type TerralessGlobalConfig struct { Backends []TerralessBackend `yaml:"Backends"` Teams []TerralessTeam `yaml:"Teams"` Uploads []TerralessUpload `yaml:"Uploads"` }
type TerralessPackage ¶
type TerralessProjectConfig ¶
type TerralessProjectConfig struct { Authorizers map[string]TerralessAuthorizer `yaml:"Authorizers"` ActiveProviders []TerralessActiveProvider `yaml:"ActiveProviders"` Backend TerralessBackend `yaml:"Backend"` Certificates map[string]TerralessCertificate `yaml:"Certificates"` Endpoints []TerralessEndpoint `yaml:"Endpoints"` Functions map[string]TerralessFunction `yaml:"Functions"` Package TerralessPackage `yaml:"Package"` ProjectName string `yaml:"ProjectName"` Settings TerralessSettings `yaml:"Settings"` SourcePath string `yaml:"SourcePath"` TargetPath string `yaml:"TargetPath"` Uploads []TerralessUpload `yaml:"Uploads"` // only for rendering template HasProvider map[string]bool Runtimes []string TeamData map[string]map[string]string }
func (*TerralessProjectConfig) Validate ¶
func (cfg *TerralessProjectConfig) Validate() *TerralessProjectConfig
type TerralessProvider ¶
type TerralessSettings ¶
type TerralessTeam ¶
type TerralessTeam struct { Data map[string]string `yaml:"Data"` Name string `yaml:"Name"` Providers []TerralessProvider `yaml:"Providers"` }
type TerralessType ¶
type TerralessUpload ¶
type TerralessUpload struct { Bucket string `yaml:"Bucket"` Cloudfront TerralessCloudfront `yaml:"Cloudfront"` Provider string `yaml:"Provider"` Region string `yaml:"Region"` Source string `yaml:"Source"` Target string `yaml:"Target"` Type string `yaml:"Type"` // only for rendering template Certificate TerralessCertificate LambdaAtEdgeFile string OwnCertificate bool ProjectName string }
Click to show internal directories.
Click to hide internal directories.