Backport of api: remove mapstructure
tags fromPort
struct into release/1.2.x
#15183
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport
This PR is auto-generated from #12916 to be assessed for backporting due to the inclusion of the label backport/1.2.x.
WARNING automatic cherry-pick of commits failed. Commits will require human attention.
The below text is copied from the body of the original PR.
This PR solves a defect in the deserialization of
api.Port
structs when returning structs from theEventStream
.Previously, the
api.Port
struct's fields were decorated with bothmapstructure
andhcl
tags to support thenetwork.port
stanza's use of the keywordstatic
when posting a static port value. This works fine when posting a job and when retrieving any struct that has an embeddedapi.Port
instance as long as the value is deserialized usingJSON
decoding. TheEventStream
, however, usesmapstructure
to decode event payloads in theapi
package.mapstructure
expects an underlying field namedstatic
which does not exist. The result was that thePort.Value
field would always be set to0
.Upon further inspection, a few things became apparent.
hcl
tags that support the indirection during job submission.json
andhcl
packages produce the desired result.mapstructure
tags provided no value as thePort
struct contains only fields with primitive types.This PR:
mapstructure
tags from theapi.Port
structshcl
instead ofmapstructure
when decodingPort
instances.Closes #11044