Skip to content

Commit

Permalink
Add customConverter struct for supporting the Custom Converters
Browse files Browse the repository at this point in the history
Signed-off-by: Sergen Yalçın <[email protected]>
  • Loading branch information
sergenyalcin authored and ulucinar committed Jan 25, 2024
1 parent 45b7a7c commit 5643553
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions pkg/config/conversion/conversions.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,27 @@ func NewFieldRenameConversion(sourceVersion, sourceField, targetVersion, targetF
targetField: targetField,
}
}

type customConverter func(src, target resource.Managed) error

type customConversion struct {
baseConversion
customConverter customConverter
}

func (cc *customConversion) ConvertTerraformed(src, target resource.Managed) (bool, error) {
if !cc.Applicable(src, target) {
return false, nil
}
if err := cc.customConverter(src, target); err != nil {
return false, err
}
return true, nil
}

func NewCustomConverter(sourceVersion, targetVersion string, converter func(src, target resource.Managed) error) Conversion {
return &customConversion{
baseConversion: newBaseConversion(sourceVersion, targetVersion),
customConverter: converter,
}
}

0 comments on commit 5643553

Please sign in to comment.