# 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.Content.V21.Model.Collection do
@moduledoc """
The collection message.
## Attributes
* `customLabel0` (*type:* `String.t`, *default:* `nil`) - Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns. [Custom label](https://support.google.com/merchants/answer/9674217)
* `customLabel1` (*type:* `String.t`, *default:* `nil`) - Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.
* `customLabel2` (*type:* `String.t`, *default:* `nil`) - Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.
* `customLabel3` (*type:* `String.t`, *default:* `nil`) - Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.
* `customLabel4` (*type:* `String.t`, *default:* `nil`) - Label that you assign to a collection to help organize bidding and reporting in Shopping campaigns.
* `featuredProduct` (*type:* `list(GoogleApi.Content.V21.Model.CollectionFeaturedProduct.t)`, *default:* `nil`) - This identifies one or more products associated with the collection. Used as a lookup to the corresponding product ID in your product feeds. Provide a maximum of 100 featuredProduct (for collections). Provide up to 10 featuredProduct (for Shoppable Images only) with ID and X and Y coordinates. [featured_product attribute](https://support.google.com/merchants/answer/9703736)
* `headline` (*type:* `list(String.t)`, *default:* `nil`) - Your collection's name. [headline attribute](https://support.google.com/merchants/answer/9673580)
* `id` (*type:* `String.t`, *default:* `nil`) - Required. The REST ID of the collection. Content API methods that operate on collections take this as their collectionId parameter. The REST ID for a collection is of the form collectionId. [id attribute](https://support.google.com/merchants/answer/9649290)
* `imageLink` (*type:* `list(String.t)`, *default:* `nil`) - The URL of a collection’s image. [image_link attribute](https://support.google.com/merchants/answer/9703236)
* `language` (*type:* `String.t`, *default:* `nil`) - The language of a collection and the language of any featured products linked to the collection. [language attribute](https://support.google.com/merchants/answer/9673781)
* `link` (*type:* `String.t`, *default:* `nil`) - A collection’s landing page. URL directly linking to your collection's page on your website. [link attribute](https://support.google.com/merchants/answer/9673983)
* `mobileLink` (*type:* `String.t`, *default:* `nil`) - A collection’s mobile-optimized landing page when you have a different URL for mobile and desktop traffic. [mobile_link attribute](https://support.google.com/merchants/answer/9646123)
* `productCountry` (*type:* `String.t`, *default:* `nil`) - [product_country attribute](https://support.google.com/merchants/answer/9674155)
"""
use GoogleApi.Gax.ModelBase
@type t :: %__MODULE__{
:customLabel0 => String.t() | nil,
:customLabel1 => String.t() | nil,
:customLabel2 => String.t() | nil,
:customLabel3 => String.t() | nil,
:customLabel4 => String.t() | nil,
:featuredProduct =>
list(GoogleApi.Content.V21.Model.CollectionFeaturedProduct.t()) | nil,
:headline => list(String.t()) | nil,
:id => String.t() | nil,
:imageLink => list(String.t()) | nil,
:language => String.t() | nil,
:link => String.t() | nil,
:mobileLink => String.t() | nil,
:productCountry => String.t() | nil
}
field(:customLabel0)
field(:customLabel1)
field(:customLabel2)
field(:customLabel3)
field(:customLabel4)
field(:featuredProduct, as: GoogleApi.Content.V21.Model.CollectionFeaturedProduct, type: :list)
field(:headline, type: :list)
field(:id)
field(:imageLink, type: :list)
field(:language)
field(:link)
field(:mobileLink)
field(:productCountry)
end
defimpl Poison.Decoder, for: GoogleApi.Content.V21.Model.Collection do
def decode(value, options) do
GoogleApi.Content.V21.Model.Collection.decode(value, options)
end
end
defimpl Poison.Encoder, for: GoogleApi.Content.V21.Model.Collection do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end