<?php
/*
 * Copyright 2014 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.
 */

namespace Google\Service\SA360;

class GoogleAdsSearchads360V23ResourcesAsset extends \Google\Collection
{
  /**
   * Not specified.
   */
  public const ENGINE_STATUS_UNSPECIFIED = 'UNSPECIFIED';
  /**
   * Used for return value only. Represents value unknown in this version.
   */
  public const ENGINE_STATUS_UNKNOWN = 'UNKNOWN';
  /**
   * The asset is active.
   */
  public const ENGINE_STATUS_SERVING = 'SERVING';
  /**
   * The asset is active limited.
   */
  public const ENGINE_STATUS_SERVING_LIMITED = 'SERVING_LIMITED';
  /**
   * The asset is disapproved (not eligible).
   */
  public const ENGINE_STATUS_DISAPPROVED = 'DISAPPROVED';
  /**
   * The asset is inactive (pending).
   */
  public const ENGINE_STATUS_DISABLED = 'DISABLED';
  /**
   * The asset has been removed.
   */
  public const ENGINE_STATUS_REMOVED = 'REMOVED';
  /**
   * Not specified.
   */
  public const ORIENTATION_UNSPECIFIED = 'UNSPECIFIED';
  /**
   * The value is unknown in this version.
   */
  public const ORIENTATION_UNKNOWN = 'UNKNOWN';
  /**
   * Landscape orientation.
   */
  public const ORIENTATION_LANDSCAPE = 'LANDSCAPE';
  /**
   * Portrait orientation.
   */
  public const ORIENTATION_PORTRAIT = 'PORTRAIT';
  /**
   * Square orientation.
   */
  public const ORIENTATION_SQUARE = 'SQUARE';
  /**
   * Not specified.
   */
  public const SOURCE_UNSPECIFIED = 'UNSPECIFIED';
  /**
   * Used for return value only. Represents value unknown in this version.
   */
  public const SOURCE_UNKNOWN = 'UNKNOWN';
  /**
   * The asset or asset link is provided by advertiser.
   */
  public const SOURCE_ADVERTISER = 'ADVERTISER';
  /**
   * The asset or asset link is generated by Google.
   */
  public const SOURCE_AUTOMATICALLY_CREATED = 'AUTOMATICALLY_CREATED';
  /**
   * The status has not been specified.
   */
  public const STATUS_UNSPECIFIED = 'UNSPECIFIED';
  /**
   * The received value is not known in this version. This is a response-only
   * value.
   */
  public const STATUS_UNKNOWN = 'UNKNOWN';
  /**
   * The asset is enabled.
   */
  public const STATUS_ENABLED = 'ENABLED';
  /**
   * The asset is removed.
   */
  public const STATUS_REMOVED = 'REMOVED';
  /**
   * The asset is archived.
   */
  public const STATUS_ARCHIVED = 'ARCHIVED';
  /**
   * The asset is system generated pending user review.
   */
  public const STATUS_PENDING_SYSTEM_GENERATED = 'PENDING_SYSTEM_GENERATED';
  /**
   * Not specified.
   */
  public const TYPE_UNSPECIFIED = 'UNSPECIFIED';
  /**
   * Used for return value only. Represents value unknown in this version.
   */
  public const TYPE_UNKNOWN = 'UNKNOWN';
  /**
   * YouTube video asset.
   */
  public const TYPE_YOUTUBE_VIDEO = 'YOUTUBE_VIDEO';
  /**
   * Media bundle asset.
   */
  public const TYPE_MEDIA_BUNDLE = 'MEDIA_BUNDLE';
  /**
   * Image asset.
   */
  public const TYPE_IMAGE = 'IMAGE';
  /**
   * Text asset.
   */
  public const TYPE_TEXT = 'TEXT';
  /**
   * Lead form asset.
   */
  public const TYPE_LEAD_FORM = 'LEAD_FORM';
  /**
   * Book on Google asset.
   */
  public const TYPE_BOOK_ON_GOOGLE = 'BOOK_ON_GOOGLE';
  /**
   * Promotion asset.
   */
  public const TYPE_PROMOTION = 'PROMOTION';
  /**
   * Callout asset.
   */
  public const TYPE_CALLOUT = 'CALLOUT';
  /**
   * Structured Snippet asset.
   */
  public const TYPE_STRUCTURED_SNIPPET = 'STRUCTURED_SNIPPET';
  /**
   * Sitelink asset.
   */
  public const TYPE_SITELINK = 'SITELINK';
  /**
   * Page Feed asset.
   */
  public const TYPE_PAGE_FEED = 'PAGE_FEED';
  /**
   * Dynamic Education asset.
   */
  public const TYPE_DYNAMIC_EDUCATION = 'DYNAMIC_EDUCATION';
  /**
   * Mobile app asset.
   */
  public const TYPE_MOBILE_APP = 'MOBILE_APP';
  /**
   * Hotel callout asset.
   */
  public const TYPE_HOTEL_CALLOUT = 'HOTEL_CALLOUT';
  /**
   * Call asset.
   */
  public const TYPE_CALL = 'CALL';
  /**
   * Price asset.
   */
  public const TYPE_PRICE = 'PRICE';
  /**
   * Call to action asset.
   */
  public const TYPE_CALL_TO_ACTION = 'CALL_TO_ACTION';
  /**
   * Dynamic real estate asset.
   */
  public const TYPE_DYNAMIC_REAL_ESTATE = 'DYNAMIC_REAL_ESTATE';
  /**
   * Dynamic custom asset.
   */
  public const TYPE_DYNAMIC_CUSTOM = 'DYNAMIC_CUSTOM';
  /**
   * Dynamic hotels and rentals asset.
   */
  public const TYPE_DYNAMIC_HOTELS_AND_RENTALS = 'DYNAMIC_HOTELS_AND_RENTALS';
  /**
   * Dynamic flights asset.
   */
  public const TYPE_DYNAMIC_FLIGHTS = 'DYNAMIC_FLIGHTS';
  /**
   * Dynamic travel asset.
   */
  public const TYPE_DYNAMIC_TRAVEL = 'DYNAMIC_TRAVEL';
  /**
   * Dynamic local asset.
   */
  public const TYPE_DYNAMIC_LOCAL = 'DYNAMIC_LOCAL';
  /**
   * Dynamic jobs asset.
   */
  public const TYPE_DYNAMIC_JOBS = 'DYNAMIC_JOBS';
  /**
   * Location asset.
   */
  public const TYPE_LOCATION = 'LOCATION';
  /**
   * Hotel property asset.
   */
  public const TYPE_HOTEL_PROPERTY = 'HOTEL_PROPERTY';
  /**
   * Demand Gen Carousel Card asset.
   */
  public const TYPE_DEMAND_GEN_CAROUSEL_CARD = 'DEMAND_GEN_CAROUSEL_CARD';
  /**
   * Business message asset.
   */
  public const TYPE_BUSINESS_MESSAGE = 'BUSINESS_MESSAGE';
  /**
   * App deep link asset.
   */
  public const TYPE_APP_DEEP_LINK = 'APP_DEEP_LINK';
  protected $collection_key = 'urlCustomParameters';
  protected $appDeepLinkAssetType = GoogleAdsSearchads360V23CommonAppDeepLinkAsset::class;
  protected $appDeepLinkAssetDataType = '';
  protected $bookOnGoogleAssetType = GoogleAdsSearchads360V23CommonBookOnGoogleAsset::class;
  protected $bookOnGoogleAssetDataType = '';
  protected $businessMessageAssetType = GoogleAdsSearchads360V23CommonBusinessMessageAsset::class;
  protected $businessMessageAssetDataType = '';
  protected $callAssetType = GoogleAdsSearchads360V23CommonCallAsset::class;
  protected $callAssetDataType = '';
  protected $callToActionAssetType = GoogleAdsSearchads360V23CommonCallToActionAsset::class;
  protected $callToActionAssetDataType = '';
  protected $calloutAssetType = GoogleAdsSearchads360V23CommonCalloutAsset::class;
  protected $calloutAssetDataType = '';
  /**
   * Output only. The timestamp when this asset was created. The timestamp is in
   * the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
   *
   * @var string
   */
  public $creationTime;
  protected $demandGenCarouselCardAssetType = GoogleAdsSearchads360V23CommonDemandGenCarouselCardAsset::class;
  protected $demandGenCarouselCardAssetDataType = '';
  protected $dynamicCustomAssetType = GoogleAdsSearchads360V23CommonDynamicCustomAsset::class;
  protected $dynamicCustomAssetDataType = '';
  protected $dynamicEducationAssetType = GoogleAdsSearchads360V23CommonDynamicEducationAsset::class;
  protected $dynamicEducationAssetDataType = '';
  protected $dynamicFlightsAssetType = GoogleAdsSearchads360V23CommonDynamicFlightsAsset::class;
  protected $dynamicFlightsAssetDataType = '';
  protected $dynamicHotelsAndRentalsAssetType = GoogleAdsSearchads360V23CommonDynamicHotelsAndRentalsAsset::class;
  protected $dynamicHotelsAndRentalsAssetDataType = '';
  protected $dynamicJobsAssetType = GoogleAdsSearchads360V23CommonDynamicJobsAsset::class;
  protected $dynamicJobsAssetDataType = '';
  protected $dynamicLocalAssetType = GoogleAdsSearchads360V23CommonDynamicLocalAsset::class;
  protected $dynamicLocalAssetDataType = '';
  protected $dynamicRealEstateAssetType = GoogleAdsSearchads360V23CommonDynamicRealEstateAsset::class;
  protected $dynamicRealEstateAssetDataType = '';
  protected $dynamicTravelAssetType = GoogleAdsSearchads360V23CommonDynamicTravelAsset::class;
  protected $dynamicTravelAssetDataType = '';
  /**
   * Output only. The Engine Status for an asset.
   *
   * @var string
   */
  public $engineStatus;
  protected $fieldTypePolicySummariesType = GoogleAdsSearchads360V23ResourcesAssetFieldTypePolicySummary::class;
  protected $fieldTypePolicySummariesDataType = 'array';
  /**
   * A list of possible final mobile URLs after all cross domain redirects.
   *
   * @var string[]
   */
  public $finalMobileUrls;
  /**
   * URL template for appending params to landing page URLs served with parallel
   * tracking.
   *
   * @var string
   */
  public $finalUrlSuffix;
  /**
   * A list of possible final URLs after all cross domain redirects.
   *
   * @var string[]
   */
  public $finalUrls;
  protected $hotelCalloutAssetType = GoogleAdsSearchads360V23CommonHotelCalloutAsset::class;
  protected $hotelCalloutAssetDataType = '';
  protected $hotelPropertyAssetType = GoogleAdsSearchads360V23CommonHotelPropertyAsset::class;
  protected $hotelPropertyAssetDataType = '';
  /**
   * Output only. The ID of the asset.
   *
   * @var string
   */
  public $id;
  protected $imageAssetType = GoogleAdsSearchads360V23CommonImageAsset::class;
  protected $imageAssetDataType = '';
  /**
   * Output only. The datetime when this asset was last modified. The datetime
   * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
   *
   * @var string
   */
  public $lastModifiedTime;
  protected $leadFormAssetType = GoogleAdsSearchads360V23CommonLeadFormAsset::class;
  protected $leadFormAssetDataType = '';
  protected $locationAssetType = GoogleAdsSearchads360V23CommonLocationAsset::class;
  protected $locationAssetDataType = '';
  protected $mediaBundleAssetType = GoogleAdsSearchads360V23CommonMediaBundleAsset::class;
  protected $mediaBundleAssetDataType = '';
  protected $mobileAppAssetType = GoogleAdsSearchads360V23CommonMobileAppAsset::class;
  protected $mobileAppAssetDataType = '';
  /**
   * Optional name of the asset.
   *
   * @var string
   */
  public $name;
  /**
   * Output only. Orientation of the asset. This is only supported for image and
   * video assets.
   *
   * @var string
   */
  public $orientation;
  protected $pageFeedAssetType = GoogleAdsSearchads360V23CommonPageFeedAsset::class;
  protected $pageFeedAssetDataType = '';
  protected $policySummaryType = GoogleAdsSearchads360V23ResourcesAssetPolicySummary::class;
  protected $policySummaryDataType = '';
  protected $priceAssetType = GoogleAdsSearchads360V23CommonPriceAsset::class;
  protected $priceAssetDataType = '';
  protected $promotionAssetType = GoogleAdsSearchads360V23CommonPromotionAsset::class;
  protected $promotionAssetDataType = '';
  /**
   * Immutable. The resource name of the asset. Asset resource names have the
   * form: `customers/{customer_id}/assets/{asset_id}`
   *
   * @var string
   */
  public $resourceName;
  protected $searchAds360CallAssetType = GoogleAdsSearchads360V23CommonUnifiedCallAsset::class;
  protected $searchAds360CallAssetDataType = '';
  protected $searchAds360CalloutAssetType = GoogleAdsSearchads360V23CommonUnifiedCalloutAsset::class;
  protected $searchAds360CalloutAssetDataType = '';
  protected $searchAds360LocationAssetType = GoogleAdsSearchads360V23CommonUnifiedLocationAsset::class;
  protected $searchAds360LocationAssetDataType = '';
  protected $searchAds360PageFeedAssetType = GoogleAdsSearchads360V23CommonUnifiedPageFeedAsset::class;
  protected $searchAds360PageFeedAssetDataType = '';
  protected $searchAds360SitelinkAssetType = GoogleAdsSearchads360V23CommonUnifiedSitelinkAsset::class;
  protected $searchAds360SitelinkAssetDataType = '';
  protected $sitelinkAssetType = GoogleAdsSearchads360V23CommonSitelinkAsset::class;
  protected $sitelinkAssetDataType = '';
  /**
   * Output only. Source of the asset.
   *
   * @var string
   */
  public $source;
  /**
   * Output only. The status of the asset.
   *
   * @var string
   */
  public $status;
  protected $structuredSnippetAssetType = GoogleAdsSearchads360V23CommonStructuredSnippetAsset::class;
  protected $structuredSnippetAssetDataType = '';
  protected $textAssetType = GoogleAdsSearchads360V23CommonTextAsset::class;
  protected $textAssetDataType = '';
  /**
   * URL template for constructing a tracking URL.
   *
   * @var string
   */
  public $trackingUrlTemplate;
  /**
   * Output only. Type of the asset.
   *
   * @var string
   */
  public $type;
  protected $urlCustomParametersType = GoogleAdsSearchads360V23CommonCustomParameter::class;
  protected $urlCustomParametersDataType = 'array';
  protected $youtubeVideoAssetType = GoogleAdsSearchads360V23CommonYoutubeVideoAsset::class;
  protected $youtubeVideoAssetDataType = '';

  /**
   * Immutable. An app deep link asset.
   *
   * @param GoogleAdsSearchads360V23CommonAppDeepLinkAsset $appDeepLinkAsset
   */
  public function setAppDeepLinkAsset(GoogleAdsSearchads360V23CommonAppDeepLinkAsset $appDeepLinkAsset)
  {
    $this->appDeepLinkAsset = $appDeepLinkAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonAppDeepLinkAsset
   */
  public function getAppDeepLinkAsset()
  {
    return $this->appDeepLinkAsset;
  }
  /**
   * A book on google asset.
   *
   * @param GoogleAdsSearchads360V23CommonBookOnGoogleAsset $bookOnGoogleAsset
   */
  public function setBookOnGoogleAsset(GoogleAdsSearchads360V23CommonBookOnGoogleAsset $bookOnGoogleAsset)
  {
    $this->bookOnGoogleAsset = $bookOnGoogleAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonBookOnGoogleAsset
   */
  public function getBookOnGoogleAsset()
  {
    return $this->bookOnGoogleAsset;
  }
  /**
   * A business message asset.
   *
   * @param GoogleAdsSearchads360V23CommonBusinessMessageAsset $businessMessageAsset
   */
  public function setBusinessMessageAsset(GoogleAdsSearchads360V23CommonBusinessMessageAsset $businessMessageAsset)
  {
    $this->businessMessageAsset = $businessMessageAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonBusinessMessageAsset
   */
  public function getBusinessMessageAsset()
  {
    return $this->businessMessageAsset;
  }
  /**
   * A call asset.
   *
   * @param GoogleAdsSearchads360V23CommonCallAsset $callAsset
   */
  public function setCallAsset(GoogleAdsSearchads360V23CommonCallAsset $callAsset)
  {
    $this->callAsset = $callAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonCallAsset
   */
  public function getCallAsset()
  {
    return $this->callAsset;
  }
  /**
   * Immutable. A call to action asset.
   *
   * @param GoogleAdsSearchads360V23CommonCallToActionAsset $callToActionAsset
   */
  public function setCallToActionAsset(GoogleAdsSearchads360V23CommonCallToActionAsset $callToActionAsset)
  {
    $this->callToActionAsset = $callToActionAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonCallToActionAsset
   */
  public function getCallToActionAsset()
  {
    return $this->callToActionAsset;
  }
  /**
   * A callout asset.
   *
   * @param GoogleAdsSearchads360V23CommonCalloutAsset $calloutAsset
   */
  public function setCalloutAsset(GoogleAdsSearchads360V23CommonCalloutAsset $calloutAsset)
  {
    $this->calloutAsset = $calloutAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonCalloutAsset
   */
  public function getCalloutAsset()
  {
    return $this->calloutAsset;
  }
  /**
   * Output only. The timestamp when this asset was created. The timestamp is in
   * the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format.
   *
   * @param string $creationTime
   */
  public function setCreationTime($creationTime)
  {
    $this->creationTime = $creationTime;
  }
  /**
   * @return string
   */
  public function getCreationTime()
  {
    return $this->creationTime;
  }
  /**
   * Immutable. A Demand Gen carousel card asset.
   *
   * @param GoogleAdsSearchads360V23CommonDemandGenCarouselCardAsset $demandGenCarouselCardAsset
   */
  public function setDemandGenCarouselCardAsset(GoogleAdsSearchads360V23CommonDemandGenCarouselCardAsset $demandGenCarouselCardAsset)
  {
    $this->demandGenCarouselCardAsset = $demandGenCarouselCardAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDemandGenCarouselCardAsset
   */
  public function getDemandGenCarouselCardAsset()
  {
    return $this->demandGenCarouselCardAsset;
  }
  /**
   * A dynamic custom asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicCustomAsset $dynamicCustomAsset
   */
  public function setDynamicCustomAsset(GoogleAdsSearchads360V23CommonDynamicCustomAsset $dynamicCustomAsset)
  {
    $this->dynamicCustomAsset = $dynamicCustomAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicCustomAsset
   */
  public function getDynamicCustomAsset()
  {
    return $this->dynamicCustomAsset;
  }
  /**
   * A dynamic education asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicEducationAsset $dynamicEducationAsset
   */
  public function setDynamicEducationAsset(GoogleAdsSearchads360V23CommonDynamicEducationAsset $dynamicEducationAsset)
  {
    $this->dynamicEducationAsset = $dynamicEducationAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicEducationAsset
   */
  public function getDynamicEducationAsset()
  {
    return $this->dynamicEducationAsset;
  }
  /**
   * A dynamic flights asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicFlightsAsset $dynamicFlightsAsset
   */
  public function setDynamicFlightsAsset(GoogleAdsSearchads360V23CommonDynamicFlightsAsset $dynamicFlightsAsset)
  {
    $this->dynamicFlightsAsset = $dynamicFlightsAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicFlightsAsset
   */
  public function getDynamicFlightsAsset()
  {
    return $this->dynamicFlightsAsset;
  }
  /**
   * A dynamic hotels and rentals asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicHotelsAndRentalsAsset $dynamicHotelsAndRentalsAsset
   */
  public function setDynamicHotelsAndRentalsAsset(GoogleAdsSearchads360V23CommonDynamicHotelsAndRentalsAsset $dynamicHotelsAndRentalsAsset)
  {
    $this->dynamicHotelsAndRentalsAsset = $dynamicHotelsAndRentalsAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicHotelsAndRentalsAsset
   */
  public function getDynamicHotelsAndRentalsAsset()
  {
    return $this->dynamicHotelsAndRentalsAsset;
  }
  /**
   * A dynamic jobs asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicJobsAsset $dynamicJobsAsset
   */
  public function setDynamicJobsAsset(GoogleAdsSearchads360V23CommonDynamicJobsAsset $dynamicJobsAsset)
  {
    $this->dynamicJobsAsset = $dynamicJobsAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicJobsAsset
   */
  public function getDynamicJobsAsset()
  {
    return $this->dynamicJobsAsset;
  }
  /**
   * A dynamic local asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicLocalAsset $dynamicLocalAsset
   */
  public function setDynamicLocalAsset(GoogleAdsSearchads360V23CommonDynamicLocalAsset $dynamicLocalAsset)
  {
    $this->dynamicLocalAsset = $dynamicLocalAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicLocalAsset
   */
  public function getDynamicLocalAsset()
  {
    return $this->dynamicLocalAsset;
  }
  /**
   * A dynamic real estate asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicRealEstateAsset $dynamicRealEstateAsset
   */
  public function setDynamicRealEstateAsset(GoogleAdsSearchads360V23CommonDynamicRealEstateAsset $dynamicRealEstateAsset)
  {
    $this->dynamicRealEstateAsset = $dynamicRealEstateAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicRealEstateAsset
   */
  public function getDynamicRealEstateAsset()
  {
    return $this->dynamicRealEstateAsset;
  }
  /**
   * A dynamic travel asset.
   *
   * @param GoogleAdsSearchads360V23CommonDynamicTravelAsset $dynamicTravelAsset
   */
  public function setDynamicTravelAsset(GoogleAdsSearchads360V23CommonDynamicTravelAsset $dynamicTravelAsset)
  {
    $this->dynamicTravelAsset = $dynamicTravelAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonDynamicTravelAsset
   */
  public function getDynamicTravelAsset()
  {
    return $this->dynamicTravelAsset;
  }
  /**
   * Output only. The Engine Status for an asset.
   *
   * Accepted values: UNSPECIFIED, UNKNOWN, SERVING, SERVING_LIMITED,
   * DISAPPROVED, DISABLED, REMOVED
   *
   * @param self::ENGINE_STATUS_* $engineStatus
   */
  public function setEngineStatus($engineStatus)
  {
    $this->engineStatus = $engineStatus;
  }
  /**
   * @return self::ENGINE_STATUS_*
   */
  public function getEngineStatus()
  {
    return $this->engineStatus;
  }
  /**
   * Output only. Policy information for the asset for each FieldType.
   *
   * @param GoogleAdsSearchads360V23ResourcesAssetFieldTypePolicySummary[] $fieldTypePolicySummaries
   */
  public function setFieldTypePolicySummaries($fieldTypePolicySummaries)
  {
    $this->fieldTypePolicySummaries = $fieldTypePolicySummaries;
  }
  /**
   * @return GoogleAdsSearchads360V23ResourcesAssetFieldTypePolicySummary[]
   */
  public function getFieldTypePolicySummaries()
  {
    return $this->fieldTypePolicySummaries;
  }
  /**
   * A list of possible final mobile URLs after all cross domain redirects.
   *
   * @param string[] $finalMobileUrls
   */
  public function setFinalMobileUrls($finalMobileUrls)
  {
    $this->finalMobileUrls = $finalMobileUrls;
  }
  /**
   * @return string[]
   */
  public function getFinalMobileUrls()
  {
    return $this->finalMobileUrls;
  }
  /**
   * URL template for appending params to landing page URLs served with parallel
   * tracking.
   *
   * @param string $finalUrlSuffix
   */
  public function setFinalUrlSuffix($finalUrlSuffix)
  {
    $this->finalUrlSuffix = $finalUrlSuffix;
  }
  /**
   * @return string
   */
  public function getFinalUrlSuffix()
  {
    return $this->finalUrlSuffix;
  }
  /**
   * A list of possible final URLs after all cross domain redirects.
   *
   * @param string[] $finalUrls
   */
  public function setFinalUrls($finalUrls)
  {
    $this->finalUrls = $finalUrls;
  }
  /**
   * @return string[]
   */
  public function getFinalUrls()
  {
    return $this->finalUrls;
  }
  /**
   * A hotel callout asset.
   *
   * @param GoogleAdsSearchads360V23CommonHotelCalloutAsset $hotelCalloutAsset
   */
  public function setHotelCalloutAsset(GoogleAdsSearchads360V23CommonHotelCalloutAsset $hotelCalloutAsset)
  {
    $this->hotelCalloutAsset = $hotelCalloutAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonHotelCalloutAsset
   */
  public function getHotelCalloutAsset()
  {
    return $this->hotelCalloutAsset;
  }
  /**
   * Immutable. A hotel property asset.
   *
   * @param GoogleAdsSearchads360V23CommonHotelPropertyAsset $hotelPropertyAsset
   */
  public function setHotelPropertyAsset(GoogleAdsSearchads360V23CommonHotelPropertyAsset $hotelPropertyAsset)
  {
    $this->hotelPropertyAsset = $hotelPropertyAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonHotelPropertyAsset
   */
  public function getHotelPropertyAsset()
  {
    return $this->hotelPropertyAsset;
  }
  /**
   * Output only. The ID of the asset.
   *
   * @param string $id
   */
  public function setId($id)
  {
    $this->id = $id;
  }
  /**
   * @return string
   */
  public function getId()
  {
    return $this->id;
  }
  /**
   * Output only. An image asset.
   *
   * @param GoogleAdsSearchads360V23CommonImageAsset $imageAsset
   */
  public function setImageAsset(GoogleAdsSearchads360V23CommonImageAsset $imageAsset)
  {
    $this->imageAsset = $imageAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonImageAsset
   */
  public function getImageAsset()
  {
    return $this->imageAsset;
  }
  /**
   * Output only. The datetime when this asset was last modified. The datetime
   * is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format.
   *
   * @param string $lastModifiedTime
   */
  public function setLastModifiedTime($lastModifiedTime)
  {
    $this->lastModifiedTime = $lastModifiedTime;
  }
  /**
   * @return string
   */
  public function getLastModifiedTime()
  {
    return $this->lastModifiedTime;
  }
  /**
   * A lead form asset.
   *
   * @param GoogleAdsSearchads360V23CommonLeadFormAsset $leadFormAsset
   */
  public function setLeadFormAsset(GoogleAdsSearchads360V23CommonLeadFormAsset $leadFormAsset)
  {
    $this->leadFormAsset = $leadFormAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonLeadFormAsset
   */
  public function getLeadFormAsset()
  {
    return $this->leadFormAsset;
  }
  /**
   * Output only. A location asset.
   *
   * @param GoogleAdsSearchads360V23CommonLocationAsset $locationAsset
   */
  public function setLocationAsset(GoogleAdsSearchads360V23CommonLocationAsset $locationAsset)
  {
    $this->locationAsset = $locationAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonLocationAsset
   */
  public function getLocationAsset()
  {
    return $this->locationAsset;
  }
  /**
   * Immutable. A media bundle asset.
   *
   * @param GoogleAdsSearchads360V23CommonMediaBundleAsset $mediaBundleAsset
   */
  public function setMediaBundleAsset(GoogleAdsSearchads360V23CommonMediaBundleAsset $mediaBundleAsset)
  {
    $this->mediaBundleAsset = $mediaBundleAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonMediaBundleAsset
   */
  public function getMediaBundleAsset()
  {
    return $this->mediaBundleAsset;
  }
  /**
   * A mobile app asset.
   *
   * @param GoogleAdsSearchads360V23CommonMobileAppAsset $mobileAppAsset
   */
  public function setMobileAppAsset(GoogleAdsSearchads360V23CommonMobileAppAsset $mobileAppAsset)
  {
    $this->mobileAppAsset = $mobileAppAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonMobileAppAsset
   */
  public function getMobileAppAsset()
  {
    return $this->mobileAppAsset;
  }
  /**
   * Optional name of the asset.
   *
   * @param string $name
   */
  public function setName($name)
  {
    $this->name = $name;
  }
  /**
   * @return string
   */
  public function getName()
  {
    return $this->name;
  }
  /**
   * Output only. Orientation of the asset. This is only supported for image and
   * video assets.
   *
   * Accepted values: UNSPECIFIED, UNKNOWN, LANDSCAPE, PORTRAIT, SQUARE
   *
   * @param self::ORIENTATION_* $orientation
   */
  public function setOrientation($orientation)
  {
    $this->orientation = $orientation;
  }
  /**
   * @return self::ORIENTATION_*
   */
  public function getOrientation()
  {
    return $this->orientation;
  }
  /**
   * A page feed asset.
   *
   * @param GoogleAdsSearchads360V23CommonPageFeedAsset $pageFeedAsset
   */
  public function setPageFeedAsset(GoogleAdsSearchads360V23CommonPageFeedAsset $pageFeedAsset)
  {
    $this->pageFeedAsset = $pageFeedAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonPageFeedAsset
   */
  public function getPageFeedAsset()
  {
    return $this->pageFeedAsset;
  }
  /**
   * Output only. Policy information for the asset.
   *
   * @param GoogleAdsSearchads360V23ResourcesAssetPolicySummary $policySummary
   */
  public function setPolicySummary(GoogleAdsSearchads360V23ResourcesAssetPolicySummary $policySummary)
  {
    $this->policySummary = $policySummary;
  }
  /**
   * @return GoogleAdsSearchads360V23ResourcesAssetPolicySummary
   */
  public function getPolicySummary()
  {
    return $this->policySummary;
  }
  /**
   * A price asset.
   *
   * @param GoogleAdsSearchads360V23CommonPriceAsset $priceAsset
   */
  public function setPriceAsset(GoogleAdsSearchads360V23CommonPriceAsset $priceAsset)
  {
    $this->priceAsset = $priceAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonPriceAsset
   */
  public function getPriceAsset()
  {
    return $this->priceAsset;
  }
  /**
   * A promotion asset.
   *
   * @param GoogleAdsSearchads360V23CommonPromotionAsset $promotionAsset
   */
  public function setPromotionAsset(GoogleAdsSearchads360V23CommonPromotionAsset $promotionAsset)
  {
    $this->promotionAsset = $promotionAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonPromotionAsset
   */
  public function getPromotionAsset()
  {
    return $this->promotionAsset;
  }
  /**
   * Immutable. The resource name of the asset. Asset resource names have the
   * form: `customers/{customer_id}/assets/{asset_id}`
   *
   * @param string $resourceName
   */
  public function setResourceName($resourceName)
  {
    $this->resourceName = $resourceName;
  }
  /**
   * @return string
   */
  public function getResourceName()
  {
    return $this->resourceName;
  }
  /**
   * Output only. A unified call asset.
   *
   * @param GoogleAdsSearchads360V23CommonUnifiedCallAsset $searchAds360CallAsset
   */
  public function setSearchAds360CallAsset(GoogleAdsSearchads360V23CommonUnifiedCallAsset $searchAds360CallAsset)
  {
    $this->searchAds360CallAsset = $searchAds360CallAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonUnifiedCallAsset
   */
  public function getSearchAds360CallAsset()
  {
    return $this->searchAds360CallAsset;
  }
  /**
   * Output only. A unified callout asset.
   *
   * @param GoogleAdsSearchads360V23CommonUnifiedCalloutAsset $searchAds360CalloutAsset
   */
  public function setSearchAds360CalloutAsset(GoogleAdsSearchads360V23CommonUnifiedCalloutAsset $searchAds360CalloutAsset)
  {
    $this->searchAds360CalloutAsset = $searchAds360CalloutAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonUnifiedCalloutAsset
   */
  public function getSearchAds360CalloutAsset()
  {
    return $this->searchAds360CalloutAsset;
  }
  /**
   * Output only. A unified location asset.
   *
   * @param GoogleAdsSearchads360V23CommonUnifiedLocationAsset $searchAds360LocationAsset
   */
  public function setSearchAds360LocationAsset(GoogleAdsSearchads360V23CommonUnifiedLocationAsset $searchAds360LocationAsset)
  {
    $this->searchAds360LocationAsset = $searchAds360LocationAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonUnifiedLocationAsset
   */
  public function getSearchAds360LocationAsset()
  {
    return $this->searchAds360LocationAsset;
  }
  /**
   * Output only. A unified page feed asset.
   *
   * @param GoogleAdsSearchads360V23CommonUnifiedPageFeedAsset $searchAds360PageFeedAsset
   */
  public function setSearchAds360PageFeedAsset(GoogleAdsSearchads360V23CommonUnifiedPageFeedAsset $searchAds360PageFeedAsset)
  {
    $this->searchAds360PageFeedAsset = $searchAds360PageFeedAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonUnifiedPageFeedAsset
   */
  public function getSearchAds360PageFeedAsset()
  {
    return $this->searchAds360PageFeedAsset;
  }
  /**
   * Output only. A unified sitelink asset.
   *
   * @param GoogleAdsSearchads360V23CommonUnifiedSitelinkAsset $searchAds360SitelinkAsset
   */
  public function setSearchAds360SitelinkAsset(GoogleAdsSearchads360V23CommonUnifiedSitelinkAsset $searchAds360SitelinkAsset)
  {
    $this->searchAds360SitelinkAsset = $searchAds360SitelinkAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonUnifiedSitelinkAsset
   */
  public function getSearchAds360SitelinkAsset()
  {
    return $this->searchAds360SitelinkAsset;
  }
  /**
   * A sitelink asset.
   *
   * @param GoogleAdsSearchads360V23CommonSitelinkAsset $sitelinkAsset
   */
  public function setSitelinkAsset(GoogleAdsSearchads360V23CommonSitelinkAsset $sitelinkAsset)
  {
    $this->sitelinkAsset = $sitelinkAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonSitelinkAsset
   */
  public function getSitelinkAsset()
  {
    return $this->sitelinkAsset;
  }
  /**
   * Output only. Source of the asset.
   *
   * Accepted values: UNSPECIFIED, UNKNOWN, ADVERTISER, AUTOMATICALLY_CREATED
   *
   * @param self::SOURCE_* $source
   */
  public function setSource($source)
  {
    $this->source = $source;
  }
  /**
   * @return self::SOURCE_*
   */
  public function getSource()
  {
    return $this->source;
  }
  /**
   * Output only. The status of the asset.
   *
   * Accepted values: UNSPECIFIED, UNKNOWN, ENABLED, REMOVED, ARCHIVED,
   * PENDING_SYSTEM_GENERATED
   *
   * @param self::STATUS_* $status
   */
  public function setStatus($status)
  {
    $this->status = $status;
  }
  /**
   * @return self::STATUS_*
   */
  public function getStatus()
  {
    return $this->status;
  }
  /**
   * A structured snippet asset.
   *
   * @param GoogleAdsSearchads360V23CommonStructuredSnippetAsset $structuredSnippetAsset
   */
  public function setStructuredSnippetAsset(GoogleAdsSearchads360V23CommonStructuredSnippetAsset $structuredSnippetAsset)
  {
    $this->structuredSnippetAsset = $structuredSnippetAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonStructuredSnippetAsset
   */
  public function getStructuredSnippetAsset()
  {
    return $this->structuredSnippetAsset;
  }
  /**
   * Immutable. A text asset.
   *
   * @param GoogleAdsSearchads360V23CommonTextAsset $textAsset
   */
  public function setTextAsset(GoogleAdsSearchads360V23CommonTextAsset $textAsset)
  {
    $this->textAsset = $textAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonTextAsset
   */
  public function getTextAsset()
  {
    return $this->textAsset;
  }
  /**
   * URL template for constructing a tracking URL.
   *
   * @param string $trackingUrlTemplate
   */
  public function setTrackingUrlTemplate($trackingUrlTemplate)
  {
    $this->trackingUrlTemplate = $trackingUrlTemplate;
  }
  /**
   * @return string
   */
  public function getTrackingUrlTemplate()
  {
    return $this->trackingUrlTemplate;
  }
  /**
   * Output only. Type of the asset.
   *
   * Accepted values: UNSPECIFIED, UNKNOWN, YOUTUBE_VIDEO, MEDIA_BUNDLE, IMAGE,
   * TEXT, LEAD_FORM, BOOK_ON_GOOGLE, PROMOTION, CALLOUT, STRUCTURED_SNIPPET,
   * SITELINK, PAGE_FEED, DYNAMIC_EDUCATION, MOBILE_APP, HOTEL_CALLOUT, CALL,
   * PRICE, CALL_TO_ACTION, DYNAMIC_REAL_ESTATE, DYNAMIC_CUSTOM,
   * DYNAMIC_HOTELS_AND_RENTALS, DYNAMIC_FLIGHTS, DYNAMIC_TRAVEL, DYNAMIC_LOCAL,
   * DYNAMIC_JOBS, LOCATION, HOTEL_PROPERTY, DEMAND_GEN_CAROUSEL_CARD,
   * BUSINESS_MESSAGE, APP_DEEP_LINK
   *
   * @param self::TYPE_* $type
   */
  public function setType($type)
  {
    $this->type = $type;
  }
  /**
   * @return self::TYPE_*
   */
  public function getType()
  {
    return $this->type;
  }
  /**
   * A list of mappings to be used for substituting URL custom parameter tags in
   * the tracking_url_template, final_urls, and/or final_mobile_urls.
   *
   * @param GoogleAdsSearchads360V23CommonCustomParameter[] $urlCustomParameters
   */
  public function setUrlCustomParameters($urlCustomParameters)
  {
    $this->urlCustomParameters = $urlCustomParameters;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonCustomParameter[]
   */
  public function getUrlCustomParameters()
  {
    return $this->urlCustomParameters;
  }
  /**
   * Immutable. A YouTube video asset.
   *
   * @param GoogleAdsSearchads360V23CommonYoutubeVideoAsset $youtubeVideoAsset
   */
  public function setYoutubeVideoAsset(GoogleAdsSearchads360V23CommonYoutubeVideoAsset $youtubeVideoAsset)
  {
    $this->youtubeVideoAsset = $youtubeVideoAsset;
  }
  /**
   * @return GoogleAdsSearchads360V23CommonYoutubeVideoAsset
   */
  public function getYoutubeVideoAsset()
  {
    return $this->youtubeVideoAsset;
  }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleAdsSearchads360V23ResourcesAsset::class, 'Google_Service_SA360_GoogleAdsSearchads360V23ResourcesAsset');
