func()

in pkg/gcptarget/gcptarget.go [223:240]


func (g *GCPTarget) handleAsset(asset *validator.Asset) (bool, interface{}, error) {
	if asset.Resource == nil {
		return false, nil, fmt.Errorf("CAI asset's resource field is nil %s", asset)
	}
	asset2.CleanStructValue(asset.Resource.Data)
	m := &protojson.MarshalOptions{
		UseProtoNames: true,
	}
	buf, err := m.Marshal(asset)
	if err != nil {
		return false, nil, fmt.Errorf("marshalling to json with asset %s: %v. %w", asset.Name, asset, err)
	}
	var f interface{}
	if err := json.Unmarshal(buf, &f); err != nil {
		return false, nil, fmt.Errorf("marshalling from json with asset %s: %v. %w", asset.Name, asset, err)
	}
	return true, f, nil
}