func getPredicateInvocation()

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:  &parameters,
		Environment: &environment,
	}

	return &i, nil
}