# Copyright 2019 Google LLC # # 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 file is auto generated by the elixir code generator program. # Do not edit this file manually. defmodule GoogleApi.Dataflow.V1b3.Model.TemplateMetadata do @moduledoc """ Metadata describing a template. ## Attributes * `defaultStreamingMode` (*type:* `String.t`, *default:* `nil`) - Optional. Indicates the default streaming mode for a streaming template. Only valid if both supports_at_least_once and supports_exactly_once are true. Possible values: UNSPECIFIED, EXACTLY_ONCE and AT_LEAST_ONCE * `description` (*type:* `String.t`, *default:* `nil`) - Optional. A description of the template. * `name` (*type:* `String.t`, *default:* `nil`) - Required. The name of the template. * `parameters` (*type:* `list(GoogleApi.Dataflow.V1b3.Model.ParameterMetadata.t)`, *default:* `nil`) - The parameters for the template. * `streaming` (*type:* `boolean()`, *default:* `nil`) - Optional. Indicates if the template is streaming or not. * `supportsAtLeastOnce` (*type:* `boolean()`, *default:* `nil`) - Optional. Indicates if the streaming template supports at least once mode. * `supportsExactlyOnce` (*type:* `boolean()`, *default:* `nil`) - Optional. Indicates if the streaming template supports exactly once mode. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :defaultStreamingMode => String.t() | nil, :description => String.t() | nil, :name => String.t() | nil, :parameters => list(GoogleApi.Dataflow.V1b3.Model.ParameterMetadata.t()) | nil, :streaming => boolean() | nil, :supportsAtLeastOnce => boolean() | nil, :supportsExactlyOnce => boolean() | nil } field(:defaultStreamingMode) field(:description) field(:name) field(:parameters, as: GoogleApi.Dataflow.V1b3.Model.ParameterMetadata, type: :list) field(:streaming) field(:supportsAtLeastOnce) field(:supportsExactlyOnce) end defimpl Poison.Decoder, for: GoogleApi.Dataflow.V1b3.Model.TemplateMetadata do def decode(value, options) do GoogleApi.Dataflow.V1b3.Model.TemplateMetadata.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Dataflow.V1b3.Model.TemplateMetadata do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end