in pkg/attestation/convert/provenance02/convert.go [96:126]
func getPredicateInvocation(prov *intoto.ProvenanceStatementSLSA02) (*g.SlsaProvenanceZeroTwo_SlsaInvocation, error) {
inv := prov.Predicate.Invocation
// Parameters
pj, _ := json.Marshal(inv.Parameters)
parameters := structpb.Struct{}
err := parameters.UnmarshalJSON(pj)
if err != nil {
return nil, err
}
// Environment
ej, _ := json.Marshal(inv.Environment)
environment := structpb.Struct{}
err = environment.UnmarshalJSON(ej)
if err != nil {
return nil, err
}
i := g.SlsaProvenanceZeroTwo_SlsaInvocation{
ConfigSource: &g.SlsaProvenanceZeroTwo_SlsaConfigSource{
Uri: inv.ConfigSource.URI,
Digest: inv.ConfigSource.Digest,
EntryPoint: inv.ConfigSource.EntryPoint,
},
Parameters: ¶meters,
Environment: &environment,
}
return &i, nil
}