# 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.TemplateVersion do @moduledoc """ ///////////////////////////////////////////////////////////////////////////// //// Template Catalog is used to organize user TemplateVersions. //// TemplateVersions that have the same project_id and display_name are //// belong to the same Template. //// Templates with the same project_id belong to the same Project. //// TemplateVersion may have labels and multiple labels are allowed. //// Duplicated labels in the same `TemplateVersion` are not allowed. //// TemplateVersion may have tags and multiple tags are allowed. Duplicated //// tags in the same `Template` are not allowed! ## Attributes * `artifact` (*type:* `GoogleApi.Dataflow.V1b3.Model.Artifact.t`, *default:* `nil`) - Job graph and metadata if it is a legacy Template. Container image path and metadata if it is flex Template. * `createTime` (*type:* `DateTime.t`, *default:* `nil`) - Creation time of this TemplateVersion. * `description` (*type:* `String.t`, *default:* `nil`) - Template description from the user. * `displayName` (*type:* `String.t`, *default:* `nil`) - A customized name for Template. Multiple TemplateVersions per Template. * `labels` (*type:* `map()`, *default:* `nil`) - Labels for the Template Version. Labels can be duplicate within Template. * `projectId` (*type:* `String.t`, *default:* `nil`) - A unique project_id. Multiple Templates per Project. * `tags` (*type:* `list(String.t)`, *default:* `nil`) - Alias for version_id, helps locate a TemplateVersion. * `type` (*type:* `String.t`, *default:* `nil`) - Either LEGACY or FLEX. This should match with the type of artifact. * `versionId` (*type:* `String.t`, *default:* `nil`) - An auto generated version_id for TemplateVersion. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :artifact => GoogleApi.Dataflow.V1b3.Model.Artifact.t(), :createTime => DateTime.t(), :description => String.t(), :displayName => String.t(), :labels => map(), :projectId => String.t(), :tags => list(String.t()), :type => String.t(), :versionId => String.t() } field(:artifact, as: GoogleApi.Dataflow.V1b3.Model.Artifact) field(:createTime, as: DateTime) field(:description) field(:displayName) field(:labels, type: :map) field(:projectId) field(:tags, type: :list) field(:type) field(:versionId) end defimpl Poison.Decoder, for: GoogleApi.Dataflow.V1b3.Model.TemplateVersion do def decode(value, options) do GoogleApi.Dataflow.V1b3.Model.TemplateVersion.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Dataflow.V1b3.Model.TemplateVersion do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end