Current section

Files

Jump to
google_api_dataflow lib google_api dataflow v1b3 model distribution_update.ex
Raw

lib/google_api/dataflow/v1b3/model/distribution_update.ex

# Copyright 2017 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NOTE: This class is auto generated by the swagger code generator program.
# https://github.com/swagger-api/swagger-codegen.git
# Do not edit the class manually.
defmodule GoogleApi.Dataflow.V1b3.Model.DistributionUpdate do
@moduledoc """
A metric value representing a distribution.
## Attributes
- count (SplitInt64): The count of the number of elements present in the distribution. Defaults to: `null`.
- logBuckets (List[LogBucket]): (Optional) Logarithmic histogram of values. Each log may be in no more than one bucket. Order does not matter. Defaults to: `null`.
- max (SplitInt64): The maximum value present in the distribution. Defaults to: `null`.
- min (SplitInt64): The minimum value present in the distribution. Defaults to: `null`.
- sum (SplitInt64): Use an int64 since we'd prefer the added precision. If overflow is a common problem we can detect it and use an additional int64 or a double. Defaults to: `null`.
- sumOfSquares (Float): Use a double since the sum of squares is likely to overflow int64. Defaults to: `null`.
"""
defstruct [
:"count",
:"logBuckets",
:"max",
:"min",
:"sum",
:"sumOfSquares"
]
end
defimpl Poison.Decoder, for: GoogleApi.Dataflow.V1b3.Model.DistributionUpdate do
import GoogleApi.Dataflow.V1b3.Deserializer
def decode(value, options) do
value
|> deserialize(:"count", :struct, GoogleApi.Dataflow.V1b3.Model.SplitInt64, options)
|> deserialize(:"logBuckets", :list, GoogleApi.Dataflow.V1b3.Model.LogBucket, options)
|> deserialize(:"max", :struct, GoogleApi.Dataflow.V1b3.Model.SplitInt64, options)
|> deserialize(:"min", :struct, GoogleApi.Dataflow.V1b3.Model.SplitInt64, options)
|> deserialize(:"sum", :struct, GoogleApi.Dataflow.V1b3.Model.SplitInt64, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Dataflow.V1b3.Model.DistributionUpdate do
def encode(value, options) do
GoogleApi.Dataflow.V1b3.Deserializer.serialize_non_nil(value, options)
end
end