Documentation
¶
Index ¶
- Constants
- type Module
- func (m *Module) AddRequiredProvider(name, source, version string)
- func (m *Module) Apply() error
- func (m *Module) ApplyCommon() error
- func (m *Module) ApplyOutput() []byte
- func (m *Module) Backend() project.Backend
- func (m *Module) BuildCommon() error
- func (m *Module) CodeDir() string
- func (m *Module) CreateCodeDir() error
- func (m *Module) Dependencies() *[]*project.Dependency
- func (m *Module) Destroy() error
- func (m *Module) ExpectedOutputs() map[string]bool
- func (m *Module) FilesList() map[string][]byte
- func (m *Module) GetStateCommon() StateSpecCommon
- func (m *Module) GetStateDiffCommon() StateSpecDiffCommon
- func (m *Module) GetTemplateDriver() (string, project.TemplateDriver)
- func (m *Module) InfraName() string
- func (m *Module) InfraPtr() *project.Infrastructure
- func (m *Module) InitCommon() error
- func (m *Module) Key() string
- func (m *Module) LoadStateCommon(spec StateCommon, modKey string, p *project.StateProject) error
- func (m *Module) Markers() map[string]string
- func (m *Module) Name() string
- func (m *Module) Outputs() (string, error)
- func (m *Module) Plan() error
- func (m *Module) ProjectPtr() *project.Project
- func (m *Module) ReadConfigCommon(spec map[string]interface{}, infra *project.Infrastructure) error
- func (m *Module) RemoteStatesScanner(data reflect.Value, module project.Module) (reflect.Value, error)
- func (m *Module) ReplaceRemoteStatesForDiff(in, out interface{}) error
- func (m *Module) UpdateProjectRuntimeDataCommon(p *project.Project) error
- func (m *Module) YamlBlockMarkerScanner(data reflect.Value, module project.Module) (reflect.Value, error)
- type RequiredProvider
- type StateCommon
- type StateDep
- type StateSpecCommon
- type StateSpecDiffCommon
- type TerraformTemplateDriver
Constants ¶
const InsertYAMLMarkerCatName = "insertYAMLMarkers"
const RemoteStateMarkerCatName = "RemoteStateMarkers"
RemoteStateMarkerCatName - name of markers category for remote states
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Module ¶
type Module struct {
// contains filtered or unexported fields
}
Module describe cluster.dev module to deploy/destroy terraform modules.
func (*Module) AddRequiredProvider ¶
func (*Module) ApplyCommon ¶
func (*Module) ApplyOutput ¶
ApplyOutput return output of last module applying.
func (*Module) BuildCommon ¶
func (*Module) CreateCodeDir ¶
CreateCodeDir generate all terraform code for project.
func (*Module) Dependencies ¶
func (m *Module) Dependencies() *[]*project.Dependency
Dependencies return slice of module dependencies.
func (*Module) ExpectedOutputs ¶
func (*Module) GetStateCommon ¶
func (m *Module) GetStateCommon() StateSpecCommon
func (*Module) GetStateDiffCommon ¶
func (m *Module) GetStateDiffCommon() StateSpecDiffCommon
func (*Module) GetTemplateDriver ¶
func (m *Module) GetTemplateDriver() (string, project.TemplateDriver)
GetTemplateDriver return template driver to add template functions into the project.
func (*Module) InfraPtr ¶
func (m *Module) InfraPtr() *project.Infrastructure
InfraPtr return ptr to module infrastructure.
func (*Module) InitCommon ¶
func (*Module) LoadStateCommon ¶ added in v0.4.5
func (m *Module) LoadStateCommon(spec StateCommon, modKey string, p *project.StateProject) error
func (*Module) ProjectPtr ¶
ProjectPtr return ptr to module project.
func (*Module) ReadConfigCommon ¶
func (m *Module) ReadConfigCommon(spec map[string]interface{}, infra *project.Infrastructure) error
func (*Module) RemoteStatesScanner ¶
func (m *Module) RemoteStatesScanner(data reflect.Value, module project.Module) (reflect.Value, error)
RemoteStatesScanner - project scanner function, witch process dependencies markers in module data setted by AddRemoteStateMarker template function.
func (*Module) ReplaceRemoteStatesForDiff ¶
ReplaceRemoteStatesForDiff replace remote state markers in struct to <remote state infra.mod.output> to show in diff.
func (*Module) UpdateProjectRuntimeDataCommon ¶ added in v0.4.5
UpdateProjectRuntimeDataCommon update project runtime dataset, adds module outputs. TODO: get module outputs and write to project runtime dataset. Now this function is only for printer's module interface.
type RequiredProvider ¶
type StateCommon ¶
type StateCommon interface {
}
type StateSpecCommon ¶
type StateSpecCommon struct {
BackendName string `json:"backend_name"`
PreHook *hookSpec `json:"pre_hook,omitempty"`
PostHook *hookSpec `json:"post_hook,omitempty"`
Providers interface{} `json:"providers,omitempty"`
Markers map[string]string `json:"markers,omitempty"`
Dependencies []StateDep `json:"dependencies,omitempty"`
RequiredProvider map[string]RequiredProvider `json:"required_providers,omitempty"`
Outputs map[string]interface{} `json:"outputs,omitempty"`
}
type StateSpecDiffCommon ¶
type StateSpecDiffCommon struct {
// BackendName string `json:"backend_name"`
PreHook *hookSpec `json:"pre_hook,omitempty"`
PostHook *hookSpec `json:"post_hook,omitempty"`
Providers interface{} `json:"providers,omitempty"`
}
type TerraformTemplateDriver ¶
type TerraformTemplateDriver struct {
}
func (*TerraformTemplateDriver) AddTemplateFunctions ¶
func (m *TerraformTemplateDriver) AddTemplateFunctions(p *project.Project)
func (*TerraformTemplateDriver) Name ¶
func (m *TerraformTemplateDriver) Name() string