From b990514225192af8e1c09c403271e466b4496743 Mon Sep 17 00:00:00 2001 From: Camden Cheek Date: Fri, 7 Aug 2020 14:25:39 -0400 Subject: [PATCH] Add missing number types to protobuf conversion --- CHANGELOG.md | 4 ++++ operator/builtin/output/google_cloud.go | 12 +++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8096b7b0..b3d57a886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased +### Fixed +- Google Cloud Output failure when sent a field of type uint16 + ## [0.9.7] - 2020-08-05 ### Changed - In the file input operator, file name and path fields are now added with `include_file_name` (default `true`) and `include_file_path` (default `false`) diff --git a/operator/builtin/output/google_cloud.go b/operator/builtin/output/google_cloud.go index 5abc98b2f..54583743f 100644 --- a/operator/builtin/output/google_cloud.go +++ b/operator/builtin/output/google_cloud.go @@ -290,16 +290,26 @@ func jsonValueToStructValue(v interface{}) *structpb.Value { switch x := v.(type) { case bool: return &structpb.Value{Kind: &structpb.Value_BoolValue{BoolValue: x}} + case float32: + return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} case float64: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: x}} case int: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} - case int64: + case int8: + return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} + case int16: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} case int32: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} + case int64: + return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} case uint: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} + case uint8: + return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} + case uint16: + return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} case uint32: return &structpb.Value{Kind: &structpb.Value_NumberValue{NumberValue: float64(x)}} case uint64: