Documentation
¶
Index ¶
- Variables
- type Database
- func (db *Database) Close()
- func (db *Database) DefaultVersion(lineage string) (version string, err error)
- func (db *Database) GetLineageActivity(lineage string) (states []types.StateStat)
- func (db *Database) GetLineages(limitStr string) (lineages []types.Lineage)
- func (db *Database) GetPlan(id string) (plans types.Plan)
- func (db *Database) GetPlans(lineage, limitStr, pageStr string) (plans []types.Plan, page int, total int)
- func (db *Database) GetPlansSummary(lineage, limitStr, pageStr string) (plans []types.Plan, page int, total int)
- func (db *Database) GetState(lineage, versionID string) (state types.State)
- func (db *Database) InsertPlan(plan []byte) error
- func (db *Database) InsertState(path string, versionID string, sf *statefile.File) error
- func (db *Database) InsertVersion(version *state.Version) error
- func (db *Database) KnownVersions() (versions []string)
- func (db *Database) ListAttributeKeys(resourceType string) (results []string, err error)
- func (db *Database) ListResourceNames() ([]string, error)
- func (db *Database) ListResourceTypes() ([]string, error)
- func (db *Database) ListResourceTypesWithCount() (results []map[string]string, err error)
- func (db *Database) ListStateStats(query url.Values) (states []types.StateStat, page int, total int)
- func (db *Database) ListStatesVersions() (statesVersions map[string][]string)
- func (db *Database) ListTerraformVersionsWithCount(query url.Values) (results []map[string]string, err error)
- func (db *Database) ListTfVersions() ([]string, error)
- func (db *Database) MigrateLineage() error
- func (db *Database) SearchAttribute(query url.Values) (results []types.SearchResult, page int, total int)
- func (db *Database) UpdateState(st types.State) error
- type GormLogger
- func (l *GormLogger) Error(ctx context.Context, msg string, data ...interface{})
- func (l *GormLogger) Info(ctx context.Context, msg string, data ...interface{})
- func (l *GormLogger) LogMode(level logger.LogLevel) logger.Interface
- func (l *GormLogger) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error)
- func (l *GormLogger) Warn(ctx context.Context, msg string, data ...interface{})
Constants ¶
This section is empty.
Variables ¶
var ( // LogrusGormLogger default GormLogger instance for Gorm logging through Logrus LogrusGormLogger = GormLogger{ LogLevel: logger.Warn, SlowThreshold: 200 * time.Millisecond, } )
Functions ¶
This section is empty.
Types ¶
type Database ¶
Database is a wrapping structure to *gorm.DB
func (*Database) Close ¶
func (db *Database) Close()
Close get generic database interface *sql.DB from the current *gorm.DB and close it
func (*Database) DefaultVersion ¶
DefaultVersion returns the default VersionID for a given Lineage Copied and adapted from github.com/hashicorp/terraform/command/jsonstate/state.go
func (*Database) GetLineageActivity ¶
GetLineageActivity returns a slice of StateStat from the Database for a given lineage representing the State activity over time (Versions)
func (*Database) GetLineages ¶
GetLineages retrieves all Lineage from the database
func (*Database) GetPlans ¶
func (db *Database) GetPlans(lineage, limitStr, pageStr string) (plans []types.Plan, page int, total int)
GetPlans retrieves all Plan of a lineage from the database
func (*Database) GetPlansSummary ¶
func (db *Database) GetPlansSummary(lineage, limitStr, pageStr string) (plans []types.Plan, page int, total int)
GetPlansSummary retrieves a summary of all Plans of a lineage from the database
func (*Database) InsertPlan ¶
InsertPlan inserts a Terraform plan with associated information in the Database
func (*Database) InsertState ¶
InsertState inserts a Terraform State in the Database
func (*Database) InsertVersion ¶
InsertVersion inserts an AWS S3 Version in the Database
func (*Database) KnownVersions ¶
KnownVersions returns a slice of all known Versions in the Database
func (*Database) ListAttributeKeys ¶
ListAttributeKeys lists all Resource Attribute keys for a given Resource type from the Database
func (*Database) ListResourceNames ¶
ListResourceNames lists all Resource names from the Database
func (*Database) ListResourceTypes ¶
ListResourceTypes lists all Resource types from the Database
func (*Database) ListResourceTypesWithCount ¶
ListResourceTypesWithCount returns a list of Resource types with associated counts from the Database
func (*Database) ListStateStats ¶
func (db *Database) ListStateStats(query url.Values) (states []types.StateStat, page int, total int)
ListStateStats returns a slice of StateStat, along with paging information
func (*Database) ListStatesVersions ¶
ListStatesVersions returns a map of Version IDs to a slice of State paths from the Database
func (*Database) ListTerraformVersionsWithCount ¶
func (db *Database) ListTerraformVersionsWithCount(query url.Values) (results []map[string]string, err error)
ListTerraformVersionsWithCount returns a slice of maps of Terraform versions mapped to the count of most recent State paths using them. ListTerraformVersionsWithCount also takes a query with possible parameter 'orderBy' to sort results. Default sorting is by descending version number.
func (*Database) ListTfVersions ¶
ListTfVersions lists all Terraform versions from the Database
func (*Database) MigrateLineage ¶
MigrateLineage is a migration function to update db and its data to the new lineage db scheme. It will update State table data, delete "lineage" column and add corresponding Lineage entries
func (*Database) SearchAttribute ¶
func (db *Database) SearchAttribute(query url.Values) (results []types.SearchResult, page int, total int)
SearchAttribute returns a slice of SearchResult given a query The query might contain parameters 'type', 'name', 'key', 'value' and 'tf_version' SearchAttribute also returns paging information: the page number and the total results
func (*Database) UpdateState ¶
UpdateState update a Terraform State in the Database with Lineage foreign constraint It will also insert Lineage entry in the db if needed. This method is only use during the Lineage migration since States are immutable
type GormLogger ¶
GormLogger is a wrapper class that implement Gorm logger interface
func (*GormLogger) Error ¶
func (l *GormLogger) Error(ctx context.Context, msg string, data ...interface{})
Error print error messages
func (*GormLogger) Info ¶
func (l *GormLogger) Info(ctx context.Context, msg string, data ...interface{})
Info print info
func (*GormLogger) LogMode ¶
func (l *GormLogger) LogMode(level logger.LogLevel) logger.Interface
LogMode log mode