mirror of
https://github.com/hashicorp/packer.git
synced 2026-09-18 22:11:39 -04:00
* [COMPLIANCE] Add/Update Copyright Headers * make generate update * make generate --------- Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com> Co-authored-by: sanya <[email protected]> Co-authored-by: Sanya <[email protected]>
29 lines
767 B
Go
29 lines
767 B
Go
// Copyright IBM Corp. 2024, 2026
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package fix
|
|
|
|
// PP is a convenient way to interact with the post-processors within a fixer
|
|
type PP struct {
|
|
PostProcessors []interface{} `mapstructure:"post-processors"`
|
|
}
|
|
|
|
// postProcessors converts the variable structure of the template to a list
|
|
func (pp *PP) ppList() []map[string]interface{} {
|
|
pps := make([]map[string]interface{}, 0, len(pp.PostProcessors))
|
|
for _, rawPP := range pp.PostProcessors {
|
|
switch pp := rawPP.(type) {
|
|
case string:
|
|
case map[string]interface{}:
|
|
pps = append(pps, pp)
|
|
case []interface{}:
|
|
for _, innerRawPP := range pp {
|
|
if innerPP, ok := innerRawPP.(map[string]interface{}); ok {
|
|
pps = append(pps, innerPP)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return pps
|
|
}
|