<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/ads/googleads/v23/enums/asset_automation_type.proto

namespace Google\Ads\GoogleAds\V23\Enums\AssetAutomationTypeEnum;

use UnexpectedValueException;

/**
 * The type of asset automation.
 *
 * Protobuf type <code>google.ads.googleads.v23.enums.AssetAutomationTypeEnum.AssetAutomationType</code>
 */
class AssetAutomationType
{
    /**
     * Not specified.
     *
     * Generated from protobuf enum <code>UNSPECIFIED = 0;</code>
     */
    const UNSPECIFIED = 0;
    /**
     * Used as a return value only. Represents value unknown in this version.
     *
     * Generated from protobuf enum <code>UNKNOWN = 1;</code>
     */
    const UNKNOWN = 1;
    /**
     * Text asset automation includes headlines and descriptions.
     * By default, advertisers are opted-in for Performance Max and
     * opted-out for Search.
     *
     * Generated from protobuf enum <code>TEXT_ASSET_AUTOMATION = 2;</code>
     */
    const TEXT_ASSET_AUTOMATION = 2;
    /**
     * Converts horizontal video assets to vertical orientation using
     * content-aware technology. By default, advertisers are opted in for
     * DemandGenVideoResponsiveAd.
     *
     * Generated from protobuf enum <code>GENERATE_VERTICAL_YOUTUBE_VIDEOS = 3;</code>
     */
    const GENERATE_VERTICAL_YOUTUBE_VIDEOS = 3;
    /**
     * Shortens video assets to better capture user attention using
     * content-aware technology. By default, advertisers are opted in for
     * DemandGenVideoResponsiveAd.
     *
     * Generated from protobuf enum <code>GENERATE_SHORTER_YOUTUBE_VIDEOS = 4;</code>
     */
    const GENERATE_SHORTER_YOUTUBE_VIDEOS = 4;
    /**
     * Generates a preview of the landing page shown in the engagement panel.
     * By using this feature, you confirm that you own all legal rights to the
     * images on the landing page used by this account (or you have permission
     * to share the images with Google). You hereby instruct Google to publish
     * these images on your behalf for advertising or other commercial purposes.
     *
     * Generated from protobuf enum <code>GENERATE_LANDING_PAGE_PREVIEW = 5;</code>
     */
    const GENERATE_LANDING_PAGE_PREVIEW = 5;
    /**
     * Generates video enhancements (vertical and shorter videos) for PMax
     * campaigns. Opted in by default.
     *
     * Generated from protobuf enum <code>GENERATE_ENHANCED_YOUTUBE_VIDEOS = 6;</code>
     */
    const GENERATE_ENHANCED_YOUTUBE_VIDEOS = 6;
    /**
     * Generates image enhancements (AutoCrop and AutoEnhance). Opted
     * in by default for pmax.
     *
     * Generated from protobuf enum <code>GENERATE_IMAGE_ENHANCEMENT = 7;</code>
     */
    const GENERATE_IMAGE_ENHANCEMENT = 7;
    /**
     * Generates image extraction. It defaults to account level Dynamic Image
     * Extension control value.
     *
     * Generated from protobuf enum <code>GENERATE_IMAGE_EXTRACTION = 9;</code>
     */
    const GENERATE_IMAGE_EXTRACTION = 9;
    /**
     * Adds design elements and embeds text assets into image assets to create
     * images with different aspect ratios. By default, advertisers are opted
     * in for DemandGenMultiAssetAd.
     *
     * Generated from protobuf enum <code>GENERATE_DESIGN_VERSIONS_FOR_IMAGES = 10;</code>
     */
    const GENERATE_DESIGN_VERSIONS_FOR_IMAGES = 10;
    /**
     * Controls automation for text assets related to Final URL expansion. This
     * includes automatically creating dynamic landing pages from the final URL
     * and generating text assets from the content of those landing pages. This
     * setting is turned OFF by default for Search campaigns, but it is turned
     * ON by default for Performance Max campaigns.
     *
     * Generated from protobuf enum <code>FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION = 11;</code>
     */
    const FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION = 11;
    /**
     * Generates videos using other Assets as input, such as images and text. By
     * default, advertisers are opted in for DemandGenMultiAssetAd.
     *
     * Generated from protobuf enum <code>GENERATE_VIDEOS_FROM_OTHER_ASSETS = 12;</code>
     */
    const GENERATE_VIDEOS_FROM_OTHER_ASSETS = 12;

    private static $valueToName = [
        self::UNSPECIFIED => 'UNSPECIFIED',
        self::UNKNOWN => 'UNKNOWN',
        self::TEXT_ASSET_AUTOMATION => 'TEXT_ASSET_AUTOMATION',
        self::GENERATE_VERTICAL_YOUTUBE_VIDEOS => 'GENERATE_VERTICAL_YOUTUBE_VIDEOS',
        self::GENERATE_SHORTER_YOUTUBE_VIDEOS => 'GENERATE_SHORTER_YOUTUBE_VIDEOS',
        self::GENERATE_LANDING_PAGE_PREVIEW => 'GENERATE_LANDING_PAGE_PREVIEW',
        self::GENERATE_ENHANCED_YOUTUBE_VIDEOS => 'GENERATE_ENHANCED_YOUTUBE_VIDEOS',
        self::GENERATE_IMAGE_ENHANCEMENT => 'GENERATE_IMAGE_ENHANCEMENT',
        self::GENERATE_IMAGE_EXTRACTION => 'GENERATE_IMAGE_EXTRACTION',
        self::GENERATE_DESIGN_VERSIONS_FOR_IMAGES => 'GENERATE_DESIGN_VERSIONS_FOR_IMAGES',
        self::FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION => 'FINAL_URL_EXPANSION_TEXT_ASSET_AUTOMATION',
        self::GENERATE_VIDEOS_FROM_OTHER_ASSETS => 'GENERATE_VIDEOS_FROM_OTHER_ASSETS',
    ];

    public static function name($value)
    {
        if (!isset(self::$valueToName[$value])) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no name defined for value %s', __CLASS__, $value));
        }
        return self::$valueToName[$value];
    }


    public static function value($name)
    {
        $const = __CLASS__ . '::' . strtoupper($name);
        if (!defined($const)) {
            throw new UnexpectedValueException(sprintf(
                    'Enum %s has no value defined for name %s', __CLASS__, $name));
        }
        return constant($const);
    }
}

// Adding a class alias for backwards compatibility with the previous class name.
class_alias(AssetAutomationType::class, \Google\Ads\GoogleAds\V23\Enums\AssetAutomationTypeEnum_AssetAutomationType::class);

