|
|
|
|
@ -10,9 +10,10 @@ import (
|
|
|
|
|
|
|
|
|
|
// ProvisionerBlock references a detected but unparsed post processor
|
|
|
|
|
type PostProcessorBlock struct {
|
|
|
|
|
PType string
|
|
|
|
|
PName string
|
|
|
|
|
OnlyExcept OnlyExcept
|
|
|
|
|
PType string
|
|
|
|
|
PName string
|
|
|
|
|
OnlyExcept OnlyExcept
|
|
|
|
|
KeepInputArtifact *bool
|
|
|
|
|
|
|
|
|
|
HCL2Ref
|
|
|
|
|
}
|
|
|
|
|
@ -23,10 +24,11 @@ func (p *PostProcessorBlock) String() string {
|
|
|
|
|
|
|
|
|
|
func (p *Parser) decodePostProcessor(block *hcl.Block) (*PostProcessorBlock, hcl.Diagnostics) {
|
|
|
|
|
var b struct {
|
|
|
|
|
Name string `hcl:"name,optional"`
|
|
|
|
|
Only []string `hcl:"only,optional"`
|
|
|
|
|
Except []string `hcl:"except,optional"`
|
|
|
|
|
Rest hcl.Body `hcl:",remain"`
|
|
|
|
|
Name string `hcl:"name,optional"`
|
|
|
|
|
Only []string `hcl:"only,optional"`
|
|
|
|
|
Except []string `hcl:"except,optional"`
|
|
|
|
|
KeepInputArtifact *bool `hcl:"keep_input_artifact,optional"`
|
|
|
|
|
Rest hcl.Body `hcl:",remain"`
|
|
|
|
|
}
|
|
|
|
|
diags := gohcl.DecodeBody(block.Body, nil, &b)
|
|
|
|
|
if diags.HasErrors() {
|
|
|
|
|
@ -34,10 +36,11 @@ func (p *Parser) decodePostProcessor(block *hcl.Block) (*PostProcessorBlock, hcl
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
postProcessor := &PostProcessorBlock{
|
|
|
|
|
PType: block.Labels[0],
|
|
|
|
|
PName: b.Name,
|
|
|
|
|
OnlyExcept: OnlyExcept{Only: b.Only, Except: b.Except},
|
|
|
|
|
HCL2Ref: newHCL2Ref(block, b.Rest),
|
|
|
|
|
PType: block.Labels[0],
|
|
|
|
|
PName: b.Name,
|
|
|
|
|
OnlyExcept: OnlyExcept{Only: b.Only, Except: b.Except},
|
|
|
|
|
HCL2Ref: newHCL2Ref(block, b.Rest),
|
|
|
|
|
KeepInputArtifact: b.KeepInputArtifact,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
diags = diags.Extend(postProcessor.OnlyExcept.Validate())
|
|
|
|
|
|