Documentation
¶
Index ¶
- type AWSSimulator
- func (s *AWSSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
- func (s *AWSSimulator) Initialize(ctx context.Context) error
- func (s *AWSSimulator) Rollback(ctx context.Context, data *RollbackData) error
- func (s *AWSSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, ...) (*SimulationResult, error)
- type AzureSimulator
- func (s *AzureSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
- func (s *AzureSimulator) Initialize(ctx context.Context) error
- func (s *AzureSimulator) Rollback(ctx context.Context, data *RollbackData) error
- func (s *AzureSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, ...) (*SimulationResult, error)
- type DriftItem
- type DriftSimulator
- func (s *DriftSimulator) DetectDrift(ctx context.Context) ([]DriftItem, error)
- func (s *DriftSimulator) GenerateReport(result *SimulationResult, drifts []DriftItem) string
- func (s *DriftSimulator) Rollback(ctx context.Context) error
- func (s *DriftSimulator) SimulateDrift(ctx context.Context) (*SimulationResult, error)
- type DriftType
- type GCPSimulator
- func (s *GCPSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
- func (s *GCPSimulator) Initialize(ctx context.Context) error
- func (s *GCPSimulator) Rollback(ctx context.Context, data *RollbackData) error
- func (s *GCPSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, ...) (*SimulationResult, error)
- type RollbackData
- type SimulationResult
- type SimulatorConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSSimulator ¶
type AWSSimulator struct {
// contains filtered or unexported fields
}
AWSSimulator simulates drift in AWS resources
func NewAWSSimulator ¶
func NewAWSSimulator() *AWSSimulator
NewAWSSimulator creates a new AWS drift simulator
func (*AWSSimulator) DetectDrift ¶
func (s *AWSSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
DetectDrift detects drift in AWS resources
func (*AWSSimulator) Initialize ¶
func (s *AWSSimulator) Initialize(ctx context.Context) error
Initialize sets up AWS clients
func (*AWSSimulator) Rollback ¶
func (s *AWSSimulator) Rollback(ctx context.Context, data *RollbackData) error
Rollback undoes the simulated drift
func (*AWSSimulator) SimulateDrift ¶
func (s *AWSSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, state *state.TerraformState) (*SimulationResult, error)
SimulateDrift creates drift in AWS resources
type AzureSimulator ¶
type AzureSimulator struct {
// contains filtered or unexported fields
}
AzureSimulator simulates drift in Azure resources
func NewAzureSimulator ¶
func NewAzureSimulator() *AzureSimulator
NewAzureSimulator creates a new Azure drift simulator
func (*AzureSimulator) DetectDrift ¶
func (s *AzureSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
DetectDrift detects drift in Azure resources
func (*AzureSimulator) Initialize ¶
func (s *AzureSimulator) Initialize(ctx context.Context) error
Initialize sets up Azure authentication
func (*AzureSimulator) Rollback ¶
func (s *AzureSimulator) Rollback(ctx context.Context, data *RollbackData) error
Rollback undoes the simulated drift
func (*AzureSimulator) SimulateDrift ¶
func (s *AzureSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, state *state.TerraformState) (*SimulationResult, error)
SimulateDrift creates drift in Azure resources
type DriftItem ¶
type DriftItem struct { ResourceID string `json:"resource_id"` ResourceType string `json:"resource_type"` DriftType string `json:"drift_type"` Before map[string]interface{} `json:"before"` After map[string]interface{} `json:"after"` Impact string `json:"impact"` }
DriftItem represents a detected drift
type DriftSimulator ¶
type DriftSimulator struct {
// contains filtered or unexported fields
}
DriftSimulator creates controlled drift for testing
func NewDriftSimulator ¶
func NewDriftSimulator(config SimulatorConfig) (*DriftSimulator, error)
NewDriftSimulator creates a new drift simulator
func (*DriftSimulator) DetectDrift ¶
func (s *DriftSimulator) DetectDrift(ctx context.Context) ([]DriftItem, error)
DetectDrift runs drift detection after simulation
func (*DriftSimulator) GenerateReport ¶
func (s *DriftSimulator) GenerateReport(result *SimulationResult, drifts []DriftItem) string
GenerateReport generates a detailed drift simulation report
func (*DriftSimulator) Rollback ¶
func (s *DriftSimulator) Rollback(ctx context.Context) error
Rollback undoes the simulated drift
func (*DriftSimulator) SimulateDrift ¶
func (s *DriftSimulator) SimulateDrift(ctx context.Context) (*SimulationResult, error)
SimulateDrift creates drift in the cloud provider
type DriftType ¶
type DriftType string
DriftType represents the type of drift to simulate
const ( DriftTypeTagChange DriftType = "tag-change" DriftTypeRuleAddition DriftType = "rule-addition" DriftTypeResourceCreation DriftType = "resource-creation" DriftTypeAttributeChange DriftType = "attribute-change" DriftTypeResourceDeletion DriftType = "resource-deletion" DriftTypeRandom DriftType = "random" )
type GCPSimulator ¶
type GCPSimulator struct {
// contains filtered or unexported fields
}
GCPSimulator simulates drift in GCP resources
func NewGCPSimulator ¶
func NewGCPSimulator() *GCPSimulator
NewGCPSimulator creates a new GCP drift simulator
func (*GCPSimulator) DetectDrift ¶
func (s *GCPSimulator) DetectDrift(ctx context.Context, state *state.TerraformState) ([]DriftItem, error)
DetectDrift detects drift in GCP resources
func (*GCPSimulator) Initialize ¶
func (s *GCPSimulator) Initialize(ctx context.Context) error
Initialize sets up GCP authentication
func (*GCPSimulator) Rollback ¶
func (s *GCPSimulator) Rollback(ctx context.Context, data *RollbackData) error
Rollback undoes the simulated drift
func (*GCPSimulator) SimulateDrift ¶
func (s *GCPSimulator) SimulateDrift(ctx context.Context, driftType DriftType, resourceID string, state *state.TerraformState) (*SimulationResult, error)
SimulateDrift creates drift in GCP resources
type RollbackData ¶
type RollbackData struct { Provider string `json:"provider"` ResourceType string `json:"resource_type"` ResourceID string `json:"resource_id"` Action string `json:"action"` OriginalData map[string]interface{} `json:"original_data"` Timestamp time.Time `json:"timestamp"` }
RollbackData stores information needed to undo the drift
type SimulationResult ¶
type SimulationResult struct { Success bool `json:"success"` DriftType DriftType `json:"drift_type"` Provider string `json:"provider"` ResourceType string `json:"resource_type"` ResourceID string `json:"resource_id"` Changes map[string]interface{} `json:"changes"` RollbackData *RollbackData `json:"rollback_data,omitempty"` ErrorMessage string `json:"error,omitempty"` CostEstimate string `json:"cost_estimate"` DetectedDrift []DriftItem `json:"detected_drift,omitempty"` }
SimulationResult contains the result of a drift simulation