# 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.DisplayVideo.V3.Model.AdvertiserCreativeConfig do
  @moduledoc """
  Creatives related settings of an advertiser.

  ## Attributes

  *   `dynamicCreativeEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether or not the advertiser is enabled for dynamic creatives.
  *   `iasClientId` (*type:* `String.t`, *default:* `nil`) - An ID for configuring campaign monitoring provided by Integral Ad Service (IAS). The DV360 system will append an IAS "Campaign Monitor" tag containing this ID to the creative tag.
  *   `obaComplianceDisabled` (*type:* `boolean()`, *default:* `nil`) - Whether or not to disable Google's About this Ad feature that adds badging (to identify the content as an ad) and transparency information (on interaction with About this Ad) to your ads for Online Behavioral Advertising (OBA) and regulatory requirements. About this Ad gives users greater control over the ads they see and helps you explain why they're seeing your ad. [Learn more](//support.google.com/displayvideo/answer/14315795). If you choose to set this field to `true`, note that ads served through Display & Video 360 must comply to the following: * Be Online Behavioral Advertising (OBA) compliant, as per your contract with Google Marketing Platform. * In the European Economic Area (EEA), include transparency information and a mechanism for users to report illegal content in ads. If using an alternative ad badging, transparency, and reporting solution, you must ensure it includes the required transparency information and illegal content flagging mechanism and that you notify Google of any illegal content reports using the appropriate [form](//support.google.com/legal/troubleshooter/1114905?sjid=6787484030557261960-EU#ts=2981967%2C2982031%2C12980091).
  *   `videoCreativeDataSharingAuthorized` (*type:* `boolean()`, *default:* `nil`) - By setting this field to `true`, you, on behalf of your company, authorize Google to use video creatives associated with this Display & Video 360 advertiser to provide reporting and features related to the advertiser's television campaigns. Applicable only when the advertiser has a CM360 hybrid ad server configuration.
  """

  use GoogleApi.Gax.ModelBase

  @type t :: %__MODULE__{
          :dynamicCreativeEnabled => boolean() | nil,
          :iasClientId => String.t() | nil,
          :obaComplianceDisabled => boolean() | nil,
          :videoCreativeDataSharingAuthorized => boolean() | nil
        }

  field(:dynamicCreativeEnabled)
  field(:iasClientId)
  field(:obaComplianceDisabled)
  field(:videoCreativeDataSharingAuthorized)
end

defimpl Poison.Decoder, for: GoogleApi.DisplayVideo.V3.Model.AdvertiserCreativeConfig do
  def decode(value, options) do
    GoogleApi.DisplayVideo.V3.Model.AdvertiserCreativeConfig.decode(value, options)
  end
end

defimpl Poison.Encoder, for: GoogleApi.DisplayVideo.V3.Model.AdvertiserCreativeConfig do
  def encode(value, options) do
    GoogleApi.Gax.ModelBase.encode(value, options)
  end
end
